summaryrefslogtreecommitdiffstats
path: root/src/video_core/engines
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-11-26 04:35:30 +0100
committerGitHub <noreply@github.com>2018-11-26 04:35:30 +0100
commit8ce90a4f0b9264405b2dda270be2d08a56362655 (patch)
tree8666d85138b9ca485b9cc02fa7fe77c95815e34c /src/video_core/engines
parentMerge pull request #1796 from ReinUsesLisp/morton-move (diff)
parentgl_shader_decompiler: Implement clip distances (diff)
downloadyuzu-8ce90a4f0b9264405b2dda270be2d08a56362655.tar
yuzu-8ce90a4f0b9264405b2dda270be2d08a56362655.tar.gz
yuzu-8ce90a4f0b9264405b2dda270be2d08a56362655.tar.bz2
yuzu-8ce90a4f0b9264405b2dda270be2d08a56362655.tar.lz
yuzu-8ce90a4f0b9264405b2dda270be2d08a56362655.tar.xz
yuzu-8ce90a4f0b9264405b2dda270be2d08a56362655.tar.zst
yuzu-8ce90a4f0b9264405b2dda270be2d08a56362655.zip
Diffstat (limited to 'src/video_core/engines')
-rw-r--r--src/video_core/engines/shader_bytecode.h2
-rw-r--r--src/video_core/engines/shader_header.h11
2 files changed, 12 insertions, 1 deletions
diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h
index 7e8449bc4..639bedb80 100644
--- a/src/video_core/engines/shader_bytecode.h
+++ b/src/video_core/engines/shader_bytecode.h
@@ -82,6 +82,8 @@ union Attribute {
Position = 7,
Attribute_0 = 8,
Attribute_31 = 39,
+ ClipDistances0123 = 44,
+ ClipDistances4567 = 45,
PointCoord = 46,
// This attribute contains a tuple of (~, ~, InstanceId, VertexId) when inside a vertex
// shader, and a tuple of (TessCoord.x, TessCoord.y, TessCoord.z, ~) when inside a Tess Eval
diff --git a/src/video_core/engines/shader_header.h b/src/video_core/engines/shader_header.h
index a0e015c4b..99c34649f 100644
--- a/src/video_core/engines/shader_header.h
+++ b/src/video_core/engines/shader_header.h
@@ -62,7 +62,16 @@ struct Header {
INSERT_PADDING_BYTES(1); // ImapSystemValuesB
INSERT_PADDING_BYTES(16); // ImapGenericVector[32]
INSERT_PADDING_BYTES(2); // ImapColor
- INSERT_PADDING_BYTES(2); // ImapSystemValuesC
+ union {
+ BitField<0, 8, u16> clip_distances;
+ BitField<8, 1, u16> point_sprite_s;
+ BitField<9, 1, u16> point_sprite_t;
+ BitField<10, 1, u16> fog_coordinate;
+ BitField<12, 1, u16> tessellation_eval_point_u;
+ BitField<13, 1, u16> tessellation_eval_point_v;
+ BitField<14, 1, u16> instance_id;
+ BitField<15, 1, u16> vertex_id;
+ };
INSERT_PADDING_BYTES(5); // ImapFixedFncTexture[10]
INSERT_PADDING_BYTES(1); // ImapReserved
INSERT_PADDING_BYTES(3); // OmapSystemValuesA