mirror of
https://github.com/libretro/RetroArch
synced 2025-04-10 15:45:19 +00:00
Revert "(glslang) Further slimming down/cleanups"
This reverts commit 0b29d52b677514d1a065806787ebb90b0cd1f349.
This commit is contained in:
parent
1a0320ceb4
commit
3401f124cc
3
deps/glslang/glslang/CMakeLists.txt
vendored
3
deps/glslang/glslang/CMakeLists.txt
vendored
@ -87,6 +87,9 @@ function(glslang_set_link_args TARGET)
|
|||||||
endif()
|
endif()
|
||||||
endfunction(glslang_set_link_args)
|
endfunction(glslang_set_link_args)
|
||||||
|
|
||||||
|
# We depend on these for later projects, so they should come first.
|
||||||
|
add_subdirectory(External)
|
||||||
|
|
||||||
if(NOT TARGET SPIRV-Tools-opt)
|
if(NOT TARGET SPIRV-Tools-opt)
|
||||||
set(ENABLE_OPT OFF)
|
set(ENABLE_OPT OFF)
|
||||||
endif()
|
endif()
|
||||||
|
43
deps/glslang/glslang/External/CMakeLists.txt
vendored
Normal file
43
deps/glslang/glslang/External/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
# Suppress all warnings from external projects.
|
||||||
|
set_property(DIRECTORY APPEND PROPERTY COMPILE_OPTIONS -w)
|
||||||
|
|
||||||
|
if(BUILD_TESTING)
|
||||||
|
if(TARGET gmock)
|
||||||
|
message(STATUS "Google Mock already configured - use it")
|
||||||
|
elseif(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/googletest)
|
||||||
|
# We need to make sure Google Test does not mess up with the
|
||||||
|
# global CRT settings on Windows.
|
||||||
|
if(WIN32)
|
||||||
|
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
|
||||||
|
endif(WIN32)
|
||||||
|
add_subdirectory(googletest)
|
||||||
|
set(GTEST_TARGETS
|
||||||
|
gtest
|
||||||
|
gtest_main
|
||||||
|
gmock
|
||||||
|
gmock_main)
|
||||||
|
foreach(target ${GTEST_TARGETS})
|
||||||
|
set_property(TARGET ${target} PROPERTY FOLDER gtest)
|
||||||
|
endforeach()
|
||||||
|
mark_as_advanced(gmock_build_tests
|
||||||
|
BUILD_GMOCK
|
||||||
|
BUILD_GTEST
|
||||||
|
BUILD_SHARED_LIBS
|
||||||
|
gtest_build_samples
|
||||||
|
gtest_build_tests
|
||||||
|
gtest_disable_pthreads
|
||||||
|
gtest_force_shared_crt
|
||||||
|
gtest_hide_internal_symbols)
|
||||||
|
else()
|
||||||
|
message(STATUS
|
||||||
|
"Google Mock was not found - tests based on that will not build")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(ENABLE_OPT AND NOT TARGET SPIRV-Tools-opt)
|
||||||
|
if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/spirv-tools)
|
||||||
|
set(SPIRV_SKIP_TESTS ON CACHE BOOL "Skip building SPIRV-Tools tests")
|
||||||
|
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/spirv-tools spirv-tools)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
35
deps/glslang/glslang/SPIRV/GlslangToSpv.cpp
vendored
35
deps/glslang/glslang/SPIRV/GlslangToSpv.cpp
vendored
@ -449,8 +449,8 @@ spv::Decoration TGlslangToSpvTraverser::TranslateNonUniformDecoration(const glsl
|
|||||||
builder.addExtension("SPV_EXT_descriptor_indexing");
|
builder.addExtension("SPV_EXT_descriptor_indexing");
|
||||||
builder.addCapability(spv::CapabilityShaderNonUniformEXT);
|
builder.addCapability(spv::CapabilityShaderNonUniformEXT);
|
||||||
return spv::DecorationNonUniformEXT;
|
return spv::DecorationNonUniformEXT;
|
||||||
}
|
} else
|
||||||
return spv::DecorationMax;
|
return spv::DecorationMax;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Translate a glslang built-in variable to a SPIR-V built in decoration. Also generate
|
// Translate a glslang built-in variable to a SPIR-V built in decoration. Also generate
|
||||||
@ -997,20 +997,6 @@ static bool HasNonLayoutQualifiers(const glslang::TType& type, const glslang::TQ
|
|||||||
return qualifier.invariant || (qualifier.hasLocation() && type.getBasicType() == glslang::EbtBlock);
|
return qualifier.invariant || (qualifier.hasLocation() && type.getBasicType() == glslang::EbtBlock);
|
||||||
}
|
}
|
||||||
|
|
||||||
// For low-order part of the generator's magic number. Bump up
|
|
||||||
// when there is a change in the style (e.g., if SSA form changes,
|
|
||||||
// or a different instruction sequence to do something gets used).
|
|
||||||
//
|
|
||||||
// return 1; // start
|
|
||||||
// return 2; // EOpAtomicCounterDecrement gets a post decrement, to map between GLSL -> SPIR-V
|
|
||||||
// return 3; // change/correct barrier-instruction operands, to match memory model group decisions
|
|
||||||
// return 4; // some deeper access chains: for dynamic vector component, and local Boolean component
|
|
||||||
// return 5; // make OpArrayLength result type be an int with signedness of 0
|
|
||||||
// return 6; // revert version 5 change, which makes a different (new) kind of incorrect code,
|
|
||||||
// versions 4 and 6 each generate OpArrayLength as it has long been done
|
|
||||||
// return 7; // GLSL volatile keyword maps to both SPIR-V decorations Volatile and Coherent
|
|
||||||
#define GetSpirvGeneratorVersion() (7)
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Implement the TGlslangToSpvTraverser class.
|
// Implement the TGlslangToSpvTraverser class.
|
||||||
//
|
//
|
||||||
@ -1021,7 +1007,7 @@ TGlslangToSpvTraverser::TGlslangToSpvTraverser(unsigned int spvVersion, const gl
|
|||||||
options(options),
|
options(options),
|
||||||
shaderEntry(nullptr), currentFunction(nullptr),
|
shaderEntry(nullptr), currentFunction(nullptr),
|
||||||
sequenceDepth(0), logger(buildLogger),
|
sequenceDepth(0), logger(buildLogger),
|
||||||
builder(spvVersion, (glslang::GetKhronosToolId() << 16) | GetSpirvGeneratorVersion(), logger),
|
builder(spvVersion, (glslang::GetKhronosToolId() << 16) | glslang::GetSpirvGeneratorVersion(), logger),
|
||||||
inEntryPoint(false), entryPointTerminated(false), linkageOnly(false),
|
inEntryPoint(false), entryPointTerminated(false), linkageOnly(false),
|
||||||
glslangIntermediate(glslangIntermediate)
|
glslangIntermediate(glslangIntermediate)
|
||||||
{
|
{
|
||||||
@ -6778,6 +6764,21 @@ spv::Id TGlslangToSpvTraverser::getExtBuiltins(const char* name)
|
|||||||
|
|
||||||
namespace glslang {
|
namespace glslang {
|
||||||
|
|
||||||
|
// For low-order part of the generator's magic number. Bump up
|
||||||
|
// when there is a change in the style (e.g., if SSA form changes,
|
||||||
|
// or a different instruction sequence to do something gets used).
|
||||||
|
int GetSpirvGeneratorVersion()
|
||||||
|
{
|
||||||
|
// return 1; // start
|
||||||
|
// return 2; // EOpAtomicCounterDecrement gets a post decrement, to map between GLSL -> SPIR-V
|
||||||
|
// return 3; // change/correct barrier-instruction operands, to match memory model group decisions
|
||||||
|
// return 4; // some deeper access chains: for dynamic vector component, and local Boolean component
|
||||||
|
// return 5; // make OpArrayLength result type be an int with signedness of 0
|
||||||
|
// return 6; // revert version 5 change, which makes a different (new) kind of incorrect code,
|
||||||
|
// versions 4 and 6 each generate OpArrayLength as it has long been done
|
||||||
|
return 7; // GLSL volatile keyword maps to both SPIR-V decorations Volatile and Coherent
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Set up the glslang traversal
|
// Set up the glslang traversal
|
||||||
//
|
//
|
||||||
|
1
deps/glslang/glslang/SPIRV/GlslangToSpv.h
vendored
1
deps/glslang/glslang/SPIRV/GlslangToSpv.h
vendored
@ -54,6 +54,7 @@ struct SpvOptions {
|
|||||||
bool optimizeSize;
|
bool optimizeSize;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
int GetSpirvGeneratorVersion();
|
||||||
void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector<unsigned int>& spirv,
|
void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector<unsigned int>& spirv,
|
||||||
SpvOptions* options = nullptr);
|
SpvOptions* options = nullptr);
|
||||||
void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector<unsigned int>& spirv,
|
void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector<unsigned int>& spirv,
|
||||||
|
@ -1226,7 +1226,7 @@ void ShDestruct(ShHandle handle)
|
|||||||
TShHandleBase* base = static_cast<TShHandleBase*>(handle);
|
TShHandleBase* base = static_cast<TShHandleBase*>(handle);
|
||||||
|
|
||||||
if (base->getAsCompiler())
|
if (base->getAsCompiler())
|
||||||
delete base->getAsCompiler();
|
DeleteCompiler(base->getAsCompiler());
|
||||||
else if (base->getAsLinker())
|
else if (base->getAsLinker())
|
||||||
DeleteLinker(base->getAsLinker());
|
DeleteLinker(base->getAsLinker());
|
||||||
else if (base->getAsUniformMap())
|
else if (base->getAsUniformMap())
|
||||||
|
@ -114,4 +114,9 @@ void ReleaseGlobalLock()
|
|||||||
ReleaseMutex(GlobalLock);
|
ReleaseMutex(GlobalLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unsigned int __stdcall EnterGenericThread (void* entry)
|
||||||
|
{
|
||||||
|
return ((TThreadEntrypoint)entry)(0);
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace glslang
|
} // namespace glslang
|
||||||
|
Loading…
x
Reference in New Issue
Block a user