aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/renderer_opengl
AgeCommit message (Collapse)Author
2019-09-22Merge pull request #2870 from FernandoS27/multi-drawDavid
Implement a MME Draw commands Inliner and correct host instance drawing
2019-09-22Merge pull request #2891 from FearlessTobi/rod-texFernando Sahmkow
video_core: Implement RGBX16F and lower Surface Copy log severity
2019-09-22Merge pull request #2867 from ReinUsesLisp/configure-framebuffers-cleanDavid
gl_rasterizer: Remove unused code paths from ConfigureFramebuffers
2019-09-22Maxwell3D: Corrections and refactors to MME instance refactorFernando Sahmkow
2019-09-22Fix clang-formatFearlessTobi
2019-09-22video_core: Implement RGBX16F PixelFormatFearlessTobi
2019-09-21Merge pull request #2868 from ReinUsesLisp/fix-mipmapsDavid
maxwell_to_gl: Fix mipmap filtering
2019-09-20Merge pull request #2846 from ReinUsesLisp/fixup-viewport-indexbunnei
gl_shader_decompiler: Avoid writing output attribute when unimplemented
2019-09-20Merge pull request #2855 from ReinUsesLisp/shflbunnei
shader_ir/warp: Implement SHFL for Nvidia devices
2019-09-20Rasterizer: Correct introduced bug where a conditional render wouldn't stop ↵Fernando Sahmkow
a draw call from executing
2019-09-19Rasterizer: Refactor and simplify DrawBatch Interface.Fernando Sahmkow
2019-09-19Rasterizer: Address Feedback and conscerns.Fernando Sahmkow
2019-09-19Rasterizer: Refactor draw calls, remove deadcode and clean up.Fernando Sahmkow
2019-09-19VideoCore: Corrections to the MME Inliner and removal of hacky instance ↵Fernando Sahmkow
management.
2019-09-19Video Core: initial Implementation of InstanceDraw PackagingFernando Sahmkow
2019-09-18Merge pull request #2784 from ReinUsesLisp/smembunnei
shader_ir: Implement shared memory
2019-09-17shader_ir/warp: Implement SHFLReinUsesLisp
2019-09-17maxwell_to_gl: Fix mipmap filteringReinUsesLisp
OpenGL texture filters follow GL_<texture_filter>_MIPMAP_<mipmap_filter> but we were using them in the opposite way.
2019-09-17gl_rasterizer: Remove unused code paths from ConfigureFramebuffersReinUsesLisp
2019-09-15Merge pull request #2851 from ReinUsesLisp/srgbFernando Sahmkow
renderer_opengl: Fix sRGB blits
2019-09-11renderer_opengl: Fix rebase mistakeReinUsesLisp
2019-09-10shader/image: Implement SUATOM and fix SUSTReinUsesLisp
2019-09-10gl_rasterizer: Correct sRGB Fix regressionFernando Sahmkow
2019-09-10renderer_opengl: Fix sRGB blitsReinUsesLisp
Removes the sRGB hack of tracking if a frame used an sRGB rendertarget to apply at least once to blit the final texture as sRGB. Instead of doing this apply sRGB if the presented image has sRGB. Also enable sRGB by default on Maxwell3D registers as some games seem to assume this.
2019-09-06gl_shader_decompiler: Avoid writing output attribute when unimplementedReinUsesLisp
2019-09-05gl_shader_decompiler: Keep track of written images and mark them as modifiedReinUsesLisp
2019-09-05gl_rasterizer: Apply textures and images stateReinUsesLisp
2019-09-05gl_rasterizer: Add samplers to compute dispatchesReinUsesLisp
2019-09-05gl_rasterizer: Minor code changesReinUsesLisp
2019-09-05gl_state: Split textures and samplers into two arraysReinUsesLisp
2019-09-05gl_rasterizer: Implement image bindingsReinUsesLisp
2019-09-05gl_state: Add support for glBindImageTexturesReinUsesLisp
2019-09-05texture_cache: Pass TIC to texture cacheReinUsesLisp
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-05gl_shader_decompiler: Implement shared memoryReinUsesLisp
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-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-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-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.