From b406e4e1f2c696ba5f6bec04ea2e6a8cc03a02d1 Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Sun, 14 Dec 2014 21:23:13 +0100 Subject: VideoCommon: Add a separate constants buffer for the geometry shader. --- Source/Core/VideoCommon/BPStructs.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'Source/Core/VideoCommon/BPStructs.cpp') diff --git a/Source/Core/VideoCommon/BPStructs.cpp b/Source/Core/VideoCommon/BPStructs.cpp index ec7854bace..8996784760 100644 --- a/Source/Core/VideoCommon/BPStructs.cpp +++ b/Source/Core/VideoCommon/BPStructs.cpp @@ -14,6 +14,7 @@ #include "VideoCommon/BPFunctions.h" #include "VideoCommon/BPStructs.h" #include "VideoCommon/Fifo.h" +#include "VideoCommon/GeometryShaderManager.h" #include "VideoCommon/PerfQueryBase.h" #include "VideoCommon/PixelEngine.h" #include "VideoCommon/PixelShaderManager.h" @@ -125,6 +126,7 @@ static void BPWritten(const BPCmd& bp) case BPMEM_SCISSOROFFSET: // Scissor Offset SetScissor(); VertexShaderManager::SetViewportChanged(); + GeometryShaderManager::SetViewportChanged(); return; case BPMEM_LINEPTWIDTH: // Line Width SetLineWidth(); -- cgit v1.2.3 From 332ba4b2100ec4dcda4b2e83eb5b0e2d21e6abc4 Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Sun, 14 Dec 2014 21:44:33 +0100 Subject: GeometryShaderManager: Upload Line/Point width constants. --- Source/Core/VideoCommon/BPStructs.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'Source/Core/VideoCommon/BPStructs.cpp') diff --git a/Source/Core/VideoCommon/BPStructs.cpp b/Source/Core/VideoCommon/BPStructs.cpp index 8996784760..fdf3e15ff2 100644 --- a/Source/Core/VideoCommon/BPStructs.cpp +++ b/Source/Core/VideoCommon/BPStructs.cpp @@ -130,6 +130,7 @@ static void BPWritten(const BPCmd& bp) return; case BPMEM_LINEPTWIDTH: // Line Width SetLineWidth(); + GeometryShaderManager::SetLinePtWidthChanged(); return; case BPMEM_ZMODE: // Depth Control PRIM_LOG("zmode: test=%d, func=%d, upd=%d", (int)bpmem.zmode.testenable, @@ -572,7 +573,10 @@ static void BPWritten(const BPCmd& bp) case BPMEM_SU_SSIZE+14: case BPMEM_SU_TSIZE+14: if (bp.changes) + { PixelShaderManager::SetTexCoordChanged((bp.address - BPMEM_SU_SSIZE) >> 1); + GeometryShaderManager::SetTexCoordChanged((bp.address - BPMEM_SU_SSIZE) >> 1); + } return; // ------------------------ // BPMEM_TX_SETMODE0 - (Texture lookup and filtering mode) LOD/BIAS Clamp, MaxAnsio, LODBIAS, DiagLoad, Min Filter, Mag Filter, Wrap T, S -- cgit v1.2.3 From 382e1c22db91d863b55d6223d4893cb629dab810 Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Sun, 14 Dec 2014 22:27:09 +0100 Subject: GeometryShaderGen: Support multiple primitive types. And make more stereoscopy code optional. --- Source/Core/VideoCommon/BPStructs.cpp | 1 - 1 file changed, 1 deletion(-) (limited to 'Source/Core/VideoCommon/BPStructs.cpp') diff --git a/Source/Core/VideoCommon/BPStructs.cpp b/Source/Core/VideoCommon/BPStructs.cpp index fdf3e15ff2..6a32b7f245 100644 --- a/Source/Core/VideoCommon/BPStructs.cpp +++ b/Source/Core/VideoCommon/BPStructs.cpp @@ -129,7 +129,6 @@ static void BPWritten(const BPCmd& bp) GeometryShaderManager::SetViewportChanged(); return; case BPMEM_LINEPTWIDTH: // Line Width - SetLineWidth(); GeometryShaderManager::SetLinePtWidthChanged(); return; case BPMEM_ZMODE: // Depth Control -- cgit v1.2.3 From 55e60a9c2242713a93621ca1b618930e5c61aef0 Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Mon, 15 Dec 2014 22:12:17 +0100 Subject: VideoCommon: Merge LineGeometryShader into GeometryShaderGen. This adds line-width emulation support to OpenGL. --- Source/Core/VideoCommon/BPStructs.cpp | 1 - 1 file changed, 1 deletion(-) (limited to 'Source/Core/VideoCommon/BPStructs.cpp') diff --git a/Source/Core/VideoCommon/BPStructs.cpp b/Source/Core/VideoCommon/BPStructs.cpp index 6a32b7f245..6c4ad70331 100644 --- a/Source/Core/VideoCommon/BPStructs.cpp +++ b/Source/Core/VideoCommon/BPStructs.cpp @@ -1371,7 +1371,6 @@ void BPReload() // note that PixelShaderManager is already covered since it has its own DoState. SetGenerationMode(); SetScissor(); - SetLineWidth(); SetDepthMode(); SetLogicOpMode(); SetDitherMode(); -- cgit v1.2.3