summaryrefslogtreecommitdiff
path: root/src/video_core/engines
diff options
context:
space:
mode:
authorGravatar FernandoS272018-09-11 12:08:06 -0400
committerGravatar FernandoS272018-09-11 12:48:19 -0400
commit2b48cfd44b9923d887314ca2ce8ad09240a997b2 (patch)
tree88cc72e4a1ebad915976dae5692ccd619b931151 /src/video_core/engines
parentImplemented (Partialy) Shader Header (diff)
downloadyuzu-2b48cfd44b9923d887314ca2ce8ad09240a997b2.tar.gz
yuzu-2b48cfd44b9923d887314ca2ce8ad09240a997b2.tar.xz
yuzu-2b48cfd44b9923d887314ca2ce8ad09240a997b2.zip
Replace old FragmentHeader for the new Header
Diffstat (limited to 'src/video_core/engines')
-rw-r--r--src/video_core/engines/shader_header.h24
1 files changed, 15 insertions, 9 deletions
diff --git a/src/video_core/engines/shader_header.h b/src/video_core/engines/shader_header.h
index 4663377ed..a885ee3cf 100644
--- a/src/video_core/engines/shader_header.h
+++ b/src/video_core/engines/shader_header.h
@@ -5,8 +5,8 @@
5#pragma once 5#pragma once
6 6
7#include "common/bit_field.h" 7#include "common/bit_field.h"
8#include "common/common_types.h"
9#include "common/common_funcs.h" 8#include "common/common_funcs.h"
9#include "common/common_types.h"
10 10
11namespace Tegra::Shader { 11namespace Tegra::Shader {
12 12
@@ -72,7 +72,7 @@ struct Header {
72 INSERT_PADDING_BYTES(2); // OmapSystemValuesC 72 INSERT_PADDING_BYTES(2); // OmapSystemValuesC
73 INSERT_PADDING_BYTES(5); // OmapFixedFncTexture[10] 73 INSERT_PADDING_BYTES(5); // OmapFixedFncTexture[10]
74 INSERT_PADDING_BYTES(1); // OmapReserved 74 INSERT_PADDING_BYTES(1); // OmapReserved
75 } ps; 75 } vtg;
76 76
77 struct { 77 struct {
78 INSERT_PADDING_BYTES(3); // ImapSystemValuesA 78 INSERT_PADDING_BYTES(3); // ImapSystemValuesA
@@ -82,14 +82,20 @@ struct Header {
82 INSERT_PADDING_BYTES(2); // ImapSystemValuesC 82 INSERT_PADDING_BYTES(2); // ImapSystemValuesC
83 INSERT_PADDING_BYTES(10); // ImapFixedFncTexture[10] 83 INSERT_PADDING_BYTES(10); // ImapFixedFncTexture[10]
84 INSERT_PADDING_BYTES(2); // ImapReserved 84 INSERT_PADDING_BYTES(2); // ImapReserved
85 INSERT_PADDING_BYTES(4); // OmapTarget[8] 85 struct {
86 union { 86 u32 target;
87 BitField<0, 1, u32> omap_sample_mask; 87 union {
88 BitField<1, 1, u32> omap_depth; 88 BitField<0, 1, u32> sample_mask;
89 BitField<2, 30, u32> omap_reserved; 89 BitField<1, 1, u32> depth;
90 BitField<2, 30, u32> reserved;
91 };
90 } omap; 92 } omap;
91 } vtg; 93 bool IsColorComponentOutputEnabled(u32 render_target, u32 component) const {
92 } sph; 94 const u32 bit = render_target * 4 + component;
95 return omap.target & (1 << bit);
96 }
97 } ps;
98 };
93}; 99};
94 100
95static_assert(sizeof(Header) == 0x50, "Incorrect structure size"); 101static_assert(sizeof(Header) == 0x50, "Incorrect structure size");