| Age | Commit message (Collapse) | Author |
|
gl_shader_gen: Apply default value to gl_Position
|
|
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.
|
|
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.
|
|
texture_cache: Use a flat table instead of switch for texture format lookups
|
|
gl_rasterizer: Emulate viewport flipping with ARB_clip_control
|
|
format_lookup_table: Drop bitfields
format_lookup_table: Use std::array for definition table
format_lookup_table: Include <limits> instead of <numeric>
|
|
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.
|
|
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.
|
|
|
|
shader: Implement FSWZADD and reimplement SHFL
|
|
video_core: Treat implicit conversions as errors
|
|
Enable sign conversion warnings but don't treat them as errors.
|
|
gl_shader_cache: Fix locker constructors
|
|
|
|
|
|
GLSLDecompiler: Correct Texture Gather Offset.
|
|
Properly pass engine when a shader is being constructed from memory.
|
|
Silence GLSL compilation warnings.
|
|
|
|
|
|
|
|
This commit corrects the argument ordering in textureGatherOffset.
|
|
shader/control_flow: Abstract repeated code chunks in BRX tracking
|
|
`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`.
|
|
shader_ir: Reduce severity of warnings
|
|
|
|
|
|
|
|
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).
|
|
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>
|
|
|
|
Remove copied and pasted for cycles into a common templated function.
|
|
|
|
These containers have a default constructor.
|
|
|
|
|
|
These warnings don't offer meaningful information while decoding
shaders. Remove them.
|
|
gl_rasterizer: Upload constant buffers with glNamedBufferSubData
|
|
shader/node: Unpack bindless texture encoding
|
|
Fermi2D: limit blit area to only available area
|
|
- Zero initialization here is useful for determinism.
|
|
Global memory is still using the stream buffer when it shouldn't. As a
temporary fix re-enable the stream buffer on compute.
|
|
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.
|
|
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.
|
|
shader_ir: Fix TLD4 and add bindless variant
|
|
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.
|
|
gl_state: Miscellaneous clean up
|
|
rasterizer_accelerated: Add intermediary for GPU rasterizers
|
|
Co-Authored-By: Mat M. <mathew1800@gmail.com>
|
|
This requires removing constness from some methods, but for consistency
it's removed in all methods.
|