diff options
Diffstat (limited to 'src/video_core/shader')
| -rw-r--r-- | src/video_core/shader/registry.cpp | 3 | ||||
| -rw-r--r-- | src/video_core/shader/registry.h | 12 |
2 files changed, 12 insertions, 3 deletions
diff --git a/src/video_core/shader/registry.cpp b/src/video_core/shader/registry.cpp index 4a1e16c1e..af70b3f35 100644 --- a/src/video_core/shader/registry.cpp +++ b/src/video_core/shader/registry.cpp | |||
| @@ -27,9 +27,12 @@ GraphicsInfo MakeGraphicsInfo(ShaderType shader_stage, ConstBufferEngineInterfac | |||
| 27 | auto& graphics = static_cast<Tegra::Engines::Maxwell3D&>(engine); | 27 | auto& graphics = static_cast<Tegra::Engines::Maxwell3D&>(engine); |
| 28 | 28 | ||
| 29 | GraphicsInfo info; | 29 | GraphicsInfo info; |
| 30 | info.tfb_layouts = graphics.regs.tfb_layouts; | ||
| 31 | info.tfb_varying_locs = graphics.regs.tfb_varying_locs; | ||
| 30 | info.primitive_topology = graphics.regs.draw.topology; | 32 | info.primitive_topology = graphics.regs.draw.topology; |
| 31 | info.tessellation_primitive = graphics.regs.tess_mode.prim; | 33 | info.tessellation_primitive = graphics.regs.tess_mode.prim; |
| 32 | info.tessellation_spacing = graphics.regs.tess_mode.spacing; | 34 | info.tessellation_spacing = graphics.regs.tess_mode.spacing; |
| 35 | info.tfb_enabled = graphics.regs.tfb_enabled; | ||
| 33 | info.tessellation_clockwise = graphics.regs.tess_mode.cw; | 36 | info.tessellation_clockwise = graphics.regs.tess_mode.cw; |
| 34 | return info; | 37 | return info; |
| 35 | } | 38 | } |
diff --git a/src/video_core/shader/registry.h b/src/video_core/shader/registry.h index 07998c4db..0c80d35fd 100644 --- a/src/video_core/shader/registry.h +++ b/src/video_core/shader/registry.h | |||
| @@ -25,9 +25,15 @@ using BindlessSamplerMap = | |||
| 25 | std::unordered_map<std::pair<u32, u32>, Tegra::Engines::SamplerDescriptor, Common::PairHash>; | 25 | std::unordered_map<std::pair<u32, u32>, Tegra::Engines::SamplerDescriptor, Common::PairHash>; |
| 26 | 26 | ||
| 27 | struct GraphicsInfo { | 27 | struct GraphicsInfo { |
| 28 | Tegra::Engines::Maxwell3D::Regs::PrimitiveTopology primitive_topology{}; | 28 | using Maxwell = Tegra::Engines::Maxwell3D::Regs; |
| 29 | Tegra::Engines::Maxwell3D::Regs::TessellationPrimitive tessellation_primitive{}; | 29 | |
| 30 | Tegra::Engines::Maxwell3D::Regs::TessellationSpacing tessellation_spacing{}; | 30 | std::array<Maxwell::TransformFeedbackLayout, Maxwell::NumTransformFeedbackBuffers> |
| 31 | tfb_layouts{}; | ||
| 32 | std::array<std::array<u8, 128>, Maxwell::NumTransformFeedbackBuffers> tfb_varying_locs{}; | ||
| 33 | Maxwell::PrimitiveTopology primitive_topology{}; | ||
| 34 | Maxwell::TessellationPrimitive tessellation_primitive{}; | ||
| 35 | Maxwell::TessellationSpacing tessellation_spacing{}; | ||
| 36 | bool tfb_enabled = false; | ||
| 31 | bool tessellation_clockwise = false; | 37 | bool tessellation_clockwise = false; |
| 32 | }; | 38 | }; |
| 33 | static_assert(std::is_trivially_copyable_v<GraphicsInfo> && | 39 | static_assert(std::is_trivially_copyable_v<GraphicsInfo> && |