aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2019-11-23Merge pull request #3141 from ReinUsesLisp/gl-positionbunnei
gl_shader_gen: Apply default value to gl_Position
2019-11-19shader/other: Reduce DEPBAR log severityReinUsesLisp
While DEPBAR is stubbed it doesn't change anything from our end. Shading languages handle what this instruction does implicitly. We are not getting anything out fo this log except noise.
2019-11-19gl_shader_gen: Apply default value to gl_PositionReinUsesLisp
Nvidia has sane default output values for varyings, but the other vendors don't apply these. To properly emulate this we would have to analyze the shader header. For the time being, apply the same default Nvidia applies so we get the same behaviour on non-Nvidia drivers.
2019-11-19Merge pull request #3086 from ReinUsesLisp/format-lookupsbunnei
texture_cache: Use a flat table instead of switch for texture format lookups
2019-11-15Merge pull request #3047 from ReinUsesLisp/clip-controlbunnei
gl_rasterizer: Emulate viewport flipping with ARB_clip_control
2019-11-14format_lookup_table: Address feedbackReinUsesLisp
format_lookup_table: Drop bitfields format_lookup_table: Use std::array for definition table format_lookup_table: Include <limits> instead of <numeric>
2019-11-14texture_cache: Use a table instead of switch for texture formatsReinUsesLisp
Use a large flat array to look up texture formats. This allows us to properly implement formats with different component types. It should also be faster.
2019-11-14texture_cache: Drop abstracted ComponentTypeReinUsesLisp
Abstracted ComponentType was not being used in a meaningful way. This commit drops its usage. There is one place where it was being used to test compatibility between two cached surfaces, but this one is implied in the pixel format. Removing the component type test doesn't change the behaviour.
2019-11-14correct the implementation of RGBA16UIgreggameplayer
2019-11-14Merge pull request #3081 from ReinUsesLisp/fswzadd-shufflesFernando Sahmkow
shader: Implement FSWZADD and reimplement SHFL
2019-11-13Merge pull request #3084 from ReinUsesLisp/cast-warningsRodrigo Locatti
video_core: Treat implicit conversions as errors
2019-11-11video_core: Enable sign conversion warningsRodrigo Locatti
Enable sign conversion warnings but don't treat them as errors.
2019-11-09Merge pull request #3082 from ReinUsesLisp/fix-lockersbunnei
gl_shader_cache: Fix locker constructors
2019-11-08video_core: Treat implicit conversions as errorsReinUsesLisp
2019-11-08video_core: Silence implicit conversion warningsReinUsesLisp
2019-11-08Merge pull request #3080 from FernandoS27/glsl-fixbunnei
GLSLDecompiler: Correct Texture Gather Offset.
2019-11-07gl_shader_cache: Fix locker constructorsReinUsesLisp
Properly pass engine when a shader is being constructed from memory.
2019-11-07gl_shader_cache: Enable extensions only when availableReinUsesLisp
Silence GLSL compilation warnings.
2019-11-07gl_shader_decompiler: Add safe fallbacks when ARB_shader_ballot is not availableReinUsesLisp
2019-11-07shader_ir/warp: Implement FSWZADDReinUsesLisp
2019-11-07gl_shader_decompiler: Reimplement shuffles with platform agnostic intrinsicsReinUsesLisp
2019-11-07GLSLDecompiler: Correct Texture Gather Offset.Fernando Sahmkow
This commit corrects the argument ordering in textureGatherOffset.
2019-11-07Merge pull request #3032 from ReinUsesLisp/simplify-control-flow-brxbunnei
shader/control_flow: Abstract repeated code chunks in BRX tracking
2019-11-07buffer_cache: Add missing includes (#3079)Morph
`boost::make_iterator_range` is available when `boost/range/iterator_range.hpp` is included. Also include `boost/icl/interval_map.hpp` and `boost/icl/interval_set.hpp`.
2019-11-07Merge pull request #3070 from ReinUsesLisp/shader-warningsbunnei
shader_ir: Reduce severity of warnings
2019-11-07gl_rasterizer: Remove front facing hackReinUsesLisp
2019-11-07gl_shader_decompiler: Fix typo "y_negate"->"y_direction"ReinUsesLisp
2019-11-07gl_shader_manager: Remove unused variable in SetFromRegsReinUsesLisp
2019-11-07gl_rasterizer: Emulate viewport flipping with ARB_clip_controlReinUsesLisp
Emulates negative y viewports with ARB_clip_control. This allows us to more easily emulated pipelines with tessellation and/or geometry shader stages. It also avoids corrupting games with transform feedbacks and negative viewports (gl_Position.y was being modified).
2019-11-07shader/control_flow: Specify constness on caller lambdasRodrigo Locatti
Update src/video_core/shader/control_flow.cpp Co-Authored-By: Mat M. <mathew1800@gmail.com> Update src/video_core/shader/control_flow.cpp Co-Authored-By: Mat M. <mathew1800@gmail.com> Update src/video_core/shader/control_flow.cpp Co-Authored-By: Mat M. <mathew1800@gmail.com> Update src/video_core/shader/control_flow.cpp Co-Authored-By: Mat M. <mathew1800@gmail.com> Update src/video_core/shader/control_flow.cpp Co-Authored-By: Mat M. <mathew1800@gmail.com> Update src/video_core/shader/control_flow.cpp Co-Authored-By: Mat M. <mathew1800@gmail.com>
2019-11-07shader/control_flow: Use callable template instead of std::functionReinUsesLisp
2019-11-07shader/control_flow: Abstract repeated code chunks in BRX trackingReinUsesLisp
Remove copied and pasted for cycles into a common templated function.
2019-11-07shader/control_flow: Silence Intellisense cast warningsReinUsesLisp
2019-11-07shader/control_flow: Remove brace initializer in std containersReinUsesLisp
These containers have a default constructor.
2019-11-07shader/decode: Reduce severity of arithmetic rounding warningsReinUsesLisp
2019-11-07shader/arithmetic: Reduce RRO stub severityReinUsesLisp
2019-11-07shader/texture: Remove NODEP warningsReinUsesLisp
These warnings don't offer meaningful information while decoding shaders. Remove them.
2019-11-06Merge pull request #3057 from ReinUsesLisp/buffer-sub-databunnei
gl_rasterizer: Upload constant buffers with glNamedBufferSubData
2019-11-06Merge pull request #3039 from ReinUsesLisp/cleanup-samplersRodrigo Locatti
shader/node: Unpack bindless texture encoding
2019-11-05Merge pull request #2914 from FernandoS27/fermi-fixbunnei
Fermi2D: limit blit area to only available area
2019-11-03common_func: Use std::array for INSERT_PADDING_* macros.bunnei
- Zero initialization here is useful for determinism.
2019-11-02gl_rasterizer: Re-enable stream buffer memory due to global memoryReinUsesLisp
Global memory is still using the stream buffer when it shouldn't. As a temporary fix re-enable the stream buffer on compute.
2019-11-02gl_rasterizer: Upload constant buffers with glNamedBufferSubDataReinUsesLisp
Nvidia's OpenGL driver maps gl(Named)BufferSubData with some requirements to a fast. This path has an extra memcpy but updates the buffer without orphaning or waiting for previous calls. It can be seen as a better model for "push constants" that can upload a whole UBO instead of 256 bytes. This path has some requirements established here: http://on-demand.gputechconf.com/gtc/2014/presentations/S4379-opengl-44-scene-rendering-techniques.pdf#page=24 Instead of using the stream buffer, this commits moves constant buffers uploads to calls of glNamedBufferSubData and from my testing it brings a performance improvement. This is disabled when the vendor is not Nvidia since it brings performance regressions.
2019-10-30Shader_IR: Fix regression on TLD4Fernando Sahmkow
Originally on the last commit I thought TLD4 acted the same as TLD4S and didn't have a mask. It actually does have a component mask. This commit corrects that.
2019-10-30Merge pull request #3050 from FernandoS27/fix-tld4Rodrigo Locatti
shader_ir: Fix TLD4 and add bindless variant
2019-10-30Shader_IR: Fix TLD4 and add Bindless Variant.Fernando Sahmkow
This commit fixes an issue where not all 4 results of tld4 were being written, the color component was defaulted to red, among other things. It also implements the bindless variant.
2019-10-29Merge pull request #3046 from ReinUsesLisp/clean-gl-statebunnei
gl_state: Miscellaneous clean up
2019-10-29Merge pull request #3035 from ReinUsesLisp/rasterizer-acceleratedbunnei
rasterizer_accelerated: Add intermediary for GPU rasterizers
2019-10-30gl_state: Use std::array::fill instead of std::fillRodrigo Locatti
Co-Authored-By: Mat M. <mathew1800@gmail.com>
2019-10-29gl_state: Move dirty checks to individual apply calls instead of ApplyReinUsesLisp
This requires removing constness from some methods, but for consistency it's removed in all methods.