diff options
| author | 2015-05-06 18:37:12 -0400 | |
|---|---|---|
| committer | 2015-05-09 22:12:34 -0400 | |
| commit | 692a74c09ee84009bc0d2553be559c08ffbe3a9c (patch) | |
| tree | cb1c52f2aee90516c4676ae275ba2000a872c15d /src | |
| parent | vertex_shader: Implement MADI instruction. (diff) | |
| download | yuzu-692a74c09ee84009bc0d2553be559c08ffbe3a9c.tar.gz yuzu-692a74c09ee84009bc0d2553be559c08ffbe3a9c.tar.xz yuzu-692a74c09ee84009bc0d2553be559c08ffbe3a9c.zip | |
vertex_shader: Implement FLR instruction.
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/vertex_shader.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/video_core/vertex_shader.cpp b/src/video_core/vertex_shader.cpp index 89d663a15..885b7de59 100644 --- a/src/video_core/vertex_shader.cpp +++ b/src/video_core/vertex_shader.cpp | |||
| @@ -235,6 +235,15 @@ static void ProcessShaderCode(VertexShaderState& state) { | |||
| 235 | break; | 235 | break; |
| 236 | } | 236 | } |
| 237 | 237 | ||
| 238 | case OpCode::Id::FLR: | ||
| 239 | for (int i = 0; i < 4; ++i) { | ||
| 240 | if (!swizzle.DestComponentEnabled(i)) | ||
| 241 | continue; | ||
| 242 | |||
| 243 | dest[i] = float24::FromFloat32(std::floor(src1[i].ToFloat32())); | ||
| 244 | } | ||
| 245 | break; | ||
| 246 | |||
| 238 | case OpCode::Id::MAX: | 247 | case OpCode::Id::MAX: |
| 239 | for (int i = 0; i < 4; ++i) { | 248 | for (int i = 0; i < 4; ++i) { |
| 240 | if (!swizzle.DestComponentEnabled(i)) | 249 | if (!swizzle.DestComponentEnabled(i)) |