diff --git a/CMakeLists.txt b/CMakeLists.txt
index bd958b7090..adfad87ca3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1278,8 +1278,6 @@ set(GPU_VULKAN
GPU/Vulkan/TextureCacheVulkan.h
GPU/Vulkan/TextureScalerVulkan.cpp
GPU/Vulkan/TextureScalerVulkan.h
- GPU/Vulkan/VertexShaderGeneratorVulkan.cpp
- GPU/Vulkan/VertexShaderGeneratorVulkan.h
GPU/Vulkan/VulkanUtil.cpp
GPU/Vulkan/VulkanUtil.h
)
diff --git a/GPU/Common/ShaderCommon.h b/GPU/Common/ShaderCommon.h
index 4fc01fb715..0c6d8e53ad 100644
--- a/GPU/Common/ShaderCommon.h
+++ b/GPU/Common/ShaderCommon.h
@@ -31,8 +31,6 @@ enum ShaderLanguage {
HLSL_DX9,
HLSL_D3D11,
HLSL_D3D11_LEVEL9,
-
- TEST_GLSL_VULKAN,
};
enum DebugShaderType {
diff --git a/GPU/GPU.vcxproj b/GPU/GPU.vcxproj
index 90e56a8dbd..e63b0babdb 100644
--- a/GPU/GPU.vcxproj
+++ b/GPU/GPU.vcxproj
@@ -483,7 +483,6 @@
-
@@ -674,7 +673,6 @@
-
diff --git a/GPU/GPU.vcxproj.filters b/GPU/GPU.vcxproj.filters
index daea75b1a3..4df5470e9b 100644
--- a/GPU/GPU.vcxproj.filters
+++ b/GPU/GPU.vcxproj.filters
@@ -171,9 +171,6 @@
Vulkan
-
- Vulkan
-
Vulkan
@@ -431,9 +428,6 @@
Vulkan
-
- Vulkan
-
Vulkan
diff --git a/GPU/Vulkan/ShaderManagerVulkan.cpp b/GPU/Vulkan/ShaderManagerVulkan.cpp
index 2624db88e4..84909a4d8a 100644
--- a/GPU/Vulkan/ShaderManagerVulkan.cpp
+++ b/GPU/Vulkan/ShaderManagerVulkan.cpp
@@ -40,7 +40,7 @@
#include "GPU/Vulkan/DrawEngineVulkan.h"
#include "GPU/Vulkan/FramebufferManagerVulkan.h"
#include "GPU/GLES/FragmentShaderGeneratorGLES.h"
-#include "GPU/Vulkan/VertexShaderGeneratorVulkan.h"
+#include "GPU/GLES/VertexShaderGeneratorGLES.h"
VulkanFragmentShader::VulkanFragmentShader(VulkanContext *vulkan, FShaderID id, const char *code)
: vulkan_(vulkan), id_(id), failed_(false), module_(0) {
@@ -265,7 +265,10 @@ void ShaderManagerVulkan::GetShaders(int prim, u32 vertType, VulkanVertexShader
if (!vs) {
// Vertex shader not in cache. Let's compile it.
std::string genErrorString;
- GenerateVertexShaderVulkanGLSL(VSID, codeBuffer_, &genErrorString);
+ uint64_t uniformMask = 0; // Not used
+ uint32_t attributeMask = 0; // Not used
+ bool success = GenerateVertexShaderGLSL(VSID, codeBuffer_, compat_, &attributeMask, &uniformMask, &genErrorString);
+ _assert_(success);
vs = new VulkanVertexShader(vulkan_, VSID, codeBuffer_, useHWTransform);
vsCache_.Insert(VSID, vs);
}
@@ -397,7 +400,9 @@ bool ShaderManagerVulkan::LoadCache(FILE *f) {
}
bool useHWTransform = id.Bit(VS_BIT_USE_HW_TRANSFORM);
std::string genErrorString;
- if (!GenerateVertexShaderVulkanGLSL(id, codeBuffer_, &genErrorString)) {
+ uint32_t attributeMask = 0;
+ uint64_t uniformMask = 0;
+ if (!GenerateVertexShaderGLSL(id, codeBuffer_, compat, &attributeMask, &uniformMask, &genErrorString)) {
return false;
}
VulkanVertexShader *vs = new VulkanVertexShader(vulkan_, id, codeBuffer_, useHWTransform);
diff --git a/GPU/Vulkan/ShaderManagerVulkan.h b/GPU/Vulkan/ShaderManagerVulkan.h
index ddd2629422..874cd698dd 100644
--- a/GPU/Vulkan/ShaderManagerVulkan.h
+++ b/GPU/Vulkan/ShaderManagerVulkan.h
@@ -24,7 +24,7 @@
#include "Common/GPU/Vulkan/VulkanMemory.h"
#include "GPU/Common/ShaderCommon.h"
#include "GPU/Common/ShaderId.h"
-#include "GPU/Vulkan/VertexShaderGeneratorVulkan.h"
+#include "GPU/GLES/VertexShaderGeneratorGLES.h"
#include "GPU/GLES/FragmentShaderGeneratorGLES.h"
#include "GPU/Vulkan/VulkanUtil.h"
#include "Common/Math/lin/matrix4x4.h"
diff --git a/GPU/Vulkan/VertexShaderGeneratorVulkan.h b/GPU/Vulkan/VertexShaderGeneratorVulkan.h
deleted file mode 100644
index 51f2b56d55..0000000000
--- a/GPU/Vulkan/VertexShaderGeneratorVulkan.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#pragma once
-
-#include "GPU/Common/ShaderId.h"
-
-bool GenerateVertexShaderVulkanGLSL(const VShaderID &id, char *buffer, std::string *errorString);
diff --git a/android/jni/Android.mk b/android/jni/Android.mk
index 96f52d33ab..9a9bad4827 100644
--- a/android/jni/Android.mk
+++ b/android/jni/Android.mk
@@ -135,7 +135,6 @@ VULKAN_FILES := \
$(SRC)/GPU/Vulkan/TextureCacheVulkan.cpp \
$(SRC)/GPU/Vulkan/TextureScalerVulkan.cpp \
$(SRC)/GPU/Vulkan/DepalettizeShaderVulkan.cpp \
- $(SRC)/GPU/Vulkan/VertexShaderGeneratorVulkan.cpp \
$(SRC)/GPU/Vulkan/VulkanUtil.cpp \
$(SRC)/GPU/Vulkan/DebugVisVulkan.cpp
#endif
diff --git a/libretro/Makefile.common b/libretro/Makefile.common
index 29e24d164c..db8dbcd34f 100644
--- a/libretro/Makefile.common
+++ b/libretro/Makefile.common
@@ -647,7 +647,6 @@ SOURCES_CXX += \
$(GPUDIR)/Vulkan/StencilBufferVulkan.cpp \
$(GPUDIR)/Vulkan/TextureCacheVulkan.cpp \
$(GPUDIR)/Vulkan/TextureScalerVulkan.cpp \
- $(GPUDIR)/Vulkan/VertexShaderGeneratorVulkan.cpp \
$(GPUDIR)/Vulkan/VulkanUtil.cpp \
$(LIBRETRODIR)/LibretroVulkanContext.cpp \
$(LIBRETRODIR)/libretro_vulkan.cpp
diff --git a/unittest/TestShaderGenerators.cpp b/unittest/TestShaderGenerators.cpp
index 6693dc01ac..29e9b98c87 100644
--- a/unittest/TestShaderGenerators.cpp
+++ b/unittest/TestShaderGenerators.cpp
@@ -11,7 +11,6 @@
#include "GPU/Directx9/FragmentShaderGeneratorHLSL.h"
#include "GPU/GLES/FragmentShaderGeneratorGLES.h"
-#include "GPU/Vulkan/VertexShaderGeneratorVulkan.h"
#include "GPU/Directx9/VertexShaderGeneratorHLSL.h"
#include "GPU/GLES/VertexShaderGeneratorGLES.h"
@@ -41,8 +40,6 @@ bool GenerateFShader(FShaderID id, char *buffer, ShaderLanguage lang, std::strin
case ShaderLanguage::GLSL_300:
// TODO: Need a device - except that maybe glslang could be used to verify these ....
return false;
- case ShaderLanguage::TEST_GLSL_VULKAN:
- return false;
default:
return false;
}
@@ -58,8 +55,6 @@ bool GenerateVShader(VShaderID id, char *buffer, ShaderLanguage lang, std::strin
return false;
// return DX9::GenerateFragmentShaderHLSL(id, buffer, ShaderLanguage::HLSL_DX9);
case ShaderLanguage::GLSL_VULKAN:
- return GenerateVertexShaderVulkanGLSL(id, buffer, errorString);
- case ShaderLanguage::TEST_GLSL_VULKAN:
{
GLSLShaderCompat compat{};
compat.SetupForVulkan();
@@ -95,8 +90,6 @@ bool TestCompileShader(const char *buffer, ShaderLanguage lang, bool vertex) {
return false;
case ShaderLanguage::GLSL_300:
return false;
- case ShaderLanguage::TEST_GLSL_VULKAN:
- return true;
default:
return false;
}
@@ -135,7 +128,6 @@ bool TestShaderGenerators() {
LoadD3DCompilerDynamic();
ShaderLanguage languages[] = {
- ShaderLanguage::TEST_GLSL_VULKAN,
ShaderLanguage::GLSL_VULKAN,
ShaderLanguage::HLSL_D3D11,
ShaderLanguage::GLSL_140,
@@ -171,7 +163,8 @@ bool TestShaderGenerators() {
printf("%s\n", genErrorString[j].c_str());
}
}
-
+ /*
+ // KEEPING FOR REUSE LATER: Defunct temporary test: Compare GLSL-in-Vulkan-mode vs Vulkan
if (generateSuccess[0] != generateSuccess[1]) {
printf("mismatching success! '%s' '%s'\n", genErrorString[0].c_str(), genErrorString[1].c_str());
printf("%s\n", buffer[0]);
@@ -183,6 +176,7 @@ bool TestShaderGenerators() {
PrintDiff(buffer[0], buffer[1]);
return false;
}
+ */
// Now that we have the strings ready for easy comparison (buffer,4 in the watch window),
// let's try to compile them.