aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/video_core/vertex_shader.h
diff options
context:
space:
mode:
authorGravatar Tony Wasserka <NeoBrainX@gmail.com>2014-08-12 20:04:28 +0200
committerGravatar Tony Wasserka <NeoBrainX@gmail.com>2014-08-25 22:03:18 +0200
commit162d641a301d87d5e25ca5d677b7f8f07f29e748 (patch)
treec22ef7138a8f27b9dfd363270856cceea50fd2bf /src/video_core/vertex_shader.h
parent62c36a4ef0a37fe83bb8f8680f928970bead545b (diff)
Pica/Math: Improved the design of the Vec2/Vec3/Vec4 classes and simplified rasterizer code accordingly.
- Swizzlers now return const objects so that things like "first_vec4.xyz() = some_vec3" now will fail to compile (ideally we should support some vector holding references to make this actually work). - The methods "InsertBeforeX/Y/Z" and "Append" have been replaced by more versions of MakeVec, which now also supports building new vectors from vectors. - Vector library now follows C++ type promotion rules (hence, the result of Vec2<u8> with another Vec2<u8> is now a Vec2<int>).
Diffstat (limited to 'src/video_core/vertex_shader.h')
-rw-r--r--src/video_core/vertex_shader.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/video_core/vertex_shader.h b/src/video_core/vertex_shader.h
index f0a8a5b6..847fdc45 100644
--- a/src/video_core/vertex_shader.h
+++ b/src/video_core/vertex_shader.h
@@ -27,7 +27,6 @@ struct OutputVertex {
Math::Vec4<float24> dummy; // quaternions (not implemented, yet)
Math::Vec4<float24> color;
Math::Vec2<float24> tc0;
- float24 tc0_v;
// Padding for optimal alignment
float24 pad[14];
@@ -36,6 +35,7 @@ struct OutputVertex {
// position after perspective divide
Math::Vec3<float24> screenpos;
+ float24 pad2;
// Linear interpolation
// factor: 0=this, 1=vtx
@@ -59,6 +59,7 @@ struct OutputVertex {
}
};
static_assert(std::is_pod<OutputVertex>::value, "Structure is not POD");
+static_assert(sizeof(OutputVertex) == 32 * sizeof(float), "OutputVertex has invalid size");
union Instruction {
enum class OpCode : u32 {