Skip to content
Browse files

- fixed: Intel OpenGL did not quite recognize the "layout(location=0)…

…" shader uniform definitions, so this had to be removed for OpenGL mode only so that Intel's compiler will continue to function normally for custom shaders.
  • Loading branch information...
madame-rachelle committed Apr 11, 2019
1 parent 40a72c7 commit 482e9c0f2cbf6921c7dcab180fcc563a75dcf7b6
@@ -878,8 +878,16 @@ PPCustomShaderInstance::PPCustomShaderInstance(PostProcessShader *desc) : Desc(d

// Setup pipeline
FString pipelineInOut;
pipelineInOut += "layout(location=0) in vec2 TexCoord;\n";
pipelineInOut += "layout(location=0) out vec4 FragColor;\n";
if (screen->IsVulkan())
pipelineInOut += "layout(location=0) in vec2 TexCoord;\n";
pipelineInOut += "layout(location=0) out vec4 FragColor;\n";
pipelineInOut += "in vec2 TexCoord;\n";
pipelineInOut += "out vec4 FragColor;\n";

FString prolog;
prolog += uniformTextures;
@@ -63,6 +63,7 @@ class VulkanFrameBuffer : public SystemBaseFrameBuffer

VulkanFrameBuffer(void *hMonitor, bool fullscreen, VulkanDevice *dev);
bool IsVulkan() override { return true; }

void Update();

@@ -381,6 +381,7 @@ class DFrameBuffer
DFrameBuffer (int width=1, int height=1);
virtual ~DFrameBuffer();
virtual void InitializeState() = 0; // For stuff that needs 'screen' set.
virtual bool IsVulkan() { return false; }

void SetSize(int width, int height);
void SetVirtualSize(int width, int height)

0 comments on commit 482e9c0

Please sign in to comment.
You can’t perform that action at this time.