mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2024-11-12 23:54:33 +00:00
- 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.
This commit is contained in:
parent
40a72c71f5
commit
482e9c0f2c
3 changed files with 12 additions and 2 deletions
|
@ -878,8 +878,16 @@ PPCustomShaderInstance::PPCustomShaderInstance(PostProcessShader *desc) : Desc(d
|
||||||
|
|
||||||
// Setup pipeline
|
// Setup pipeline
|
||||||
FString pipelineInOut;
|
FString pipelineInOut;
|
||||||
pipelineInOut += "layout(location=0) in vec2 TexCoord;\n";
|
if (screen->IsVulkan())
|
||||||
pipelineInOut += "layout(location=0) out vec4 FragColor;\n";
|
{
|
||||||
|
pipelineInOut += "layout(location=0) in vec2 TexCoord;\n";
|
||||||
|
pipelineInOut += "layout(location=0) out vec4 FragColor;\n";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pipelineInOut += "in vec2 TexCoord;\n";
|
||||||
|
pipelineInOut += "out vec4 FragColor;\n";
|
||||||
|
}
|
||||||
|
|
||||||
FString prolog;
|
FString prolog;
|
||||||
prolog += uniformTextures;
|
prolog += uniformTextures;
|
||||||
|
|
|
@ -63,6 +63,7 @@ public:
|
||||||
|
|
||||||
VulkanFrameBuffer(void *hMonitor, bool fullscreen, VulkanDevice *dev);
|
VulkanFrameBuffer(void *hMonitor, bool fullscreen, VulkanDevice *dev);
|
||||||
~VulkanFrameBuffer();
|
~VulkanFrameBuffer();
|
||||||
|
bool IsVulkan() override { return true; }
|
||||||
|
|
||||||
void Update();
|
void Update();
|
||||||
|
|
||||||
|
|
|
@ -381,6 +381,7 @@ public:
|
||||||
DFrameBuffer (int width=1, int height=1);
|
DFrameBuffer (int width=1, int height=1);
|
||||||
virtual ~DFrameBuffer();
|
virtual ~DFrameBuffer();
|
||||||
virtual void InitializeState() = 0; // For stuff that needs 'screen' set.
|
virtual void InitializeState() = 0; // For stuff that needs 'screen' set.
|
||||||
|
virtual bool IsVulkan() { return false; }
|
||||||
|
|
||||||
void SetSize(int width, int height);
|
void SetSize(int width, int height);
|
||||||
void SetVirtualSize(int width, int height)
|
void SetVirtualSize(int width, int height)
|
||||||
|
|
Loading…
Reference in a new issue