Complete the vertex shader merge, deleting the Vulkan-specific vertex shader generator.

This commit is contained in:
Henrik Rydgård committed 2020-10-25 08:34:35 +01:00
1 parent fb2ac3a67e
commit 2977c56a12
10 files changed
+12 -32

No files matched your search

-2
View File
@@ -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
)
-2
View File
@@ -31,8 +31,6 @@ enum ShaderLanguage {
HLSL_DX9,
HLSL_D3D11,
HLSL_D3D11_LEVEL9,
TEST_GLSL_VULKAN,
};
enum DebugShaderType {
-2
View File
@@ -483,7 +483,6 @@
<ClInclude Include="Vulkan\StateMappingVulkan.h" />
<ClInclude Include="Vulkan\TextureCacheVulkan.h" />
<ClInclude Include="Vulkan\TextureScalerVulkan.h" />
<ClInclude Include="Vulkan\VertexShaderGeneratorVulkan.h" />
<ClInclude Include="Vulkan\VulkanUtil.h" />
</ItemGroup>
<ItemGroup>
@@ -674,7 +673,6 @@
<ClCompile Include="Vulkan\StencilBufferVulkan.cpp" />
<ClCompile Include="Vulkan\TextureCacheVulkan.cpp" />
<ClCompile Include="Vulkan\TextureScalerVulkan.cpp" />
<ClCompile Include="Vulkan\VertexShaderGeneratorVulkan.cpp" />
<ClCompile Include="Vulkan\VulkanUtil.cpp" />
</ItemGroup>
<ItemGroup>
-6
View File
@@ -171,9 +171,6 @@
<ClInclude Include="Vulkan\TextureScalerVulkan.h">
<Filter>Vulkan</Filter>
</ClInclude>
<ClInclude Include="Vulkan\VertexShaderGeneratorVulkan.h">
<Filter>Vulkan</Filter>
</ClInclude>
<ClInclude Include="Vulkan\VulkanUtil.h">
<Filter>Vulkan</Filter>
</ClInclude>
@@ -431,9 +428,6 @@
<ClCompile Include="Vulkan\TextureScalerVulkan.cpp">
<Filter>Vulkan</Filter>
</ClCompile>
<ClCompile Include="Vulkan\VertexShaderGeneratorVulkan.cpp">
<Filter>Vulkan</Filter>
</ClCompile>
<ClCompile Include="Vulkan\VulkanUtil.cpp">
<Filter>Vulkan</Filter>
</ClCompile>
+8 -3
View File
@@ -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);
+1 -1
View File
@@ -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"
-5
View File
@@ -1,5 +0,0 @@
#pragma once
#include "GPU/Common/ShaderId.h"
bool GenerateVertexShaderVulkanGLSL(const VShaderID &id, char *buffer, std::string *errorString);
-1
View File
@@ -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
-1
View File
@@ -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
+3 -9
View File
@@ -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.