summaryrefslogtreecommitdiff
path: root/src/video_core/shader
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/shader')
-rw-r--r--src/video_core/shader/registry.cpp3
-rw-r--r--src/video_core/shader/registry.h12
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
27struct GraphicsInfo { 27struct 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};
33static_assert(std::is_trivially_copyable_v<GraphicsInfo> && 39static_assert(std::is_trivially_copyable_v<GraphicsInfo> &&