aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2019-09-05kepler_compute: Implement texture queriesReinUsesLisp
2019-09-05gl_rasterizer: Split SetupTexturesReinUsesLisp
2019-09-05Merge pull request #2804 from ReinUsesLisp/remove-gs-specialFernando Sahmkow
gl_shader_cache: Remove special casing for geometry shaders
2019-09-05Merge pull request #2833 from ReinUsesLisp/fix-stencilbunnei
gl_rasterizer: Fix stencil testing
2019-09-05Merge pull request #2802 from ReinUsesLisp/hsetp2-predDavid
half_set_predicate: Fix HSETP2 predicate assignments
2019-09-04gl_shader_decompiler: Fixup slow pathReinUsesLisp
2019-09-04gl_rasterizer: Fix stencil testingReinUsesLisp
* Fix stencil dirty flags tracking when stencil is disabled * Attach stencil on clears (previously it only attached depth) * Attach stencil on drawing regardless of stencil testing being enabled
2019-09-04gl_shader_cache: Remove special casing for geometry shadersReinUsesLisp
Now that ProgramVariants holds the primitive topology we no longer need to keep track of individual geometry shaders topologies.
2019-09-04half_set_predicate: Fix predicate assignmentsReinUsesLisp
2019-09-04gl_device: Disable precise in fragment shaders on bugged driversReinUsesLisp
2019-09-04gl_shader_decompiler: Fixup AMD's slow path typeReinUsesLisp
2019-09-04gl_shader_decompiler: Rework GLSL decompiler type systemReinUsesLisp
GLSL decompiler type system was broken. We converted all return values to float except for some cases where returning we couldn't and implicitly broke the rule of returning floats (e.g. for bools or bool pairs). Instead of doing this introduce class Expression that knows what type a return value has and when a consumer wants to use the string it asks for it with a required type, emitting a runtime error if types are incompatible. This has the disadvantage that there's more C++ code, but we can emit better GLSL code that's easier to read.
2019-09-03Merge pull request #2793 from ReinUsesLisp/bgr565bunnei
renderer_opengl: Implement RGB565 framebuffer format
2019-09-03Merge pull request #2812 from ReinUsesLisp/f2i-selectorbunnei
shader_ir/conversion: Implement F2I and F2F F16 selector
2019-09-03Merge pull request #2811 from ReinUsesLisp/fsetp-fixbunnei
float_set_predicate: Add missing negation bit for the second operand
2019-09-03Merge pull request #2826 from ReinUsesLisp/macro-bindingbunnei
maxwell_3d: Fix macro binding cursor
2019-09-01Merge pull request #2765 from FernandoS27/dma-fixbunnei
MaxwellDMA: Fixes, corrections and relaxations.
2019-09-01maxwell_3d: Fix macro binding cursorReinUsesLisp
2019-08-30video_core: Silent miscellaneous warnings (#2820)Rodrigo Locatti
* texture_cache/surface_params: Remove unused local variable * rasterizer_interface: Add missing documentation commentary * maxwell_dma: Remove unused rasterizer reference * video_core/gpu: Sort member declaration order to silent -Wreorder warning * fermi_2d: Remove unused MemoryManager reference * video_core: Silent unused variable warnings * buffer_cache: Silent -Wreorder warnings * kepler_memory: Remove unused MemoryManager reference * gl_texture_cache: Add missing override * buffer_cache: Add missing include * shader/decode: Remove unused variables
2019-08-29gl_buffer_cache: Add missing includeReinUsesLisp
RasterizerInterface was considered an incomplete object by clang.
2019-08-29Merge pull request #2742 from ReinUsesLisp/fix-texture-buffersbunnei
gl_texture_cache: Miscellaneous texture buffer fixes
2019-08-29Merge pull request #2783 from FernandoS27/new-buffer-cachebunnei
Implement a New LLE Buffer Cache
2019-08-29Merge pull request #2758 from ReinUsesLisp/packed-tidbunnei
shader/decode: Implement S2R Tic
2019-08-28shader_ir/conversion: Split int and float selector and implement F2F H1ReinUsesLisp
2019-08-27shader_ir/conversion: Implement F2I F16 Ra.H1ReinUsesLisp
2019-08-27float_set_predicate: Add missing negation bit for the second operandReinUsesLisp
2019-08-21shader_ir: Implement VOTEReinUsesLisp
Implement VOTE using Nvidia's intrinsics. Documentation about these can be found here https://developer.nvidia.com/reading-between-threads-shader-intrinsics Instead of using portable ARB instructions I opted to use Nvidia intrinsics because these are the closest we have to how Tegra X1 hardware renders. To stub VOTE on non-Nvidia drivers (including nouveau) this commit simulates a GPU with a warp size of one, returning what is meaningful for the instruction being emulated: * anyThreadNV(value) -> value * allThreadsNV(value) -> value * allThreadsEqualNV(value) -> true ballotARB, also known as "uint64_t(activeThreadsNV())", emits VOTE.ANY Rd, PT, PT; on nouveau's compiler. This doesn't match exactly to Nvidia's code VOTE.ALL Rd, PT, PT; Which is emulated with activeThreadsNV() by this commit. In theory this shouldn't really matter since .ANY, .ALL and .EQ affect the predicates (set to PT on those cases) and not the registers.
2019-08-21Buffer Cache: Adress Feedback.Fernando Sahmkow
2019-08-21Buffer_Cache: Implement flushing.Fernando Sahmkow
2019-08-21Buffer_Cache: Implement barriers.Fernando Sahmkow
2019-08-21Buffer_Cache: Optimize and track written areas.Fernando Sahmkow
2019-08-21BufferCache: Rework mapping caching.Fernando Sahmkow
2019-08-21Buffer_Cache: Fixes and optimizations.Fernando Sahmkow
2019-08-21Video_Core: Implement a new Buffer CacheFernando Sahmkow
2019-08-21Merge pull request #2769 from FernandoS27/commands-flushbunnei
GPU: Flush commands on every dma pusher step.
2019-08-21Merge pull request #2777 from ReinUsesLisp/hsetp2-fe3h-fixbunnei
half_set_predicate: Fix HSETP2_C constant buffer offset
2019-08-21Merge pull request #2753 from FernandoS27/float-convertbunnei
Shader_Ir: Implement F16 Variants of F2F, F2I, I2F.
2019-08-21renderer_opengl: Implement RGB565 framebuffer formatReinUsesLisp
2019-08-21renderer_opengl: Use block linear swizzling for CPU framebuffersReinUsesLisp
2019-08-21renderer_opengl: Use VideoCore pixel formatReinUsesLisp
2019-08-21gpu: Change optional<reference_wrapper<T>> to T* for FramebufferConfigReinUsesLisp
2019-08-18Merge pull request #2778 from ReinUsesLisp/nopbunnei
shader_ir: Implement NOP
2019-08-18Merge pull request #2768 from ReinUsesLisp/hsetp2-fixbunnei
decode/half_set_predicate: Fix predicates
2019-08-04shader_ir: Implement NOPReinUsesLisp
2019-08-04half_set_predicate: Fix HSETP2_C constant buffer offsetReinUsesLisp
2019-07-26GPU: Flush commands on every dma pusher step.Fernando Sahmkow
This commit ensures that the host gpu is constantly fed with commands to work with, while the guest gpu keeps producing the rest of the commands. This reduces syncing time between host and guest gpu.
2019-07-26Merge pull request #2592 from FernandoS27/sync1bunnei
Implement GPU Synchronization Mechanisms & Correct NVFlinger
2019-07-26decode/half_set_predicate: Fix predicatesReinUsesLisp
2019-07-25MaxwellDMA: Fixes, corrections and relaxations.Fernando Sahmkow
This commit fixes offsets on Linear -> Tiled copies, corrects z pos fortiled->linear copies, corrects bytes_per_pixel calculation in tiled -> linear copies and relaxes some limitations set by latest dma fixes refactors.
2019-07-25Merge pull request #2739 from lioncash/cflowbunnei
video_core/control_flow: Minor changes/warning cleanup