mirror of
https://github.com/libretro/RetroArch
synced 2025-03-28 19:20:35 +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()
|
||||
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)
|
||||
set(ENABLE_OPT OFF)
|
||||
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.addCapability(spv::CapabilityShaderNonUniformEXT);
|
||||
return spv::DecorationNonUniformEXT;
|
||||
}
|
||||
return spv::DecorationMax;
|
||||
} else
|
||||
return spv::DecorationMax;
|
||||
}
|
||||
|
||||
// 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);
|
||||
}
|
||||
|
||||
// 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.
|
||||
//
|
||||
@ -1021,7 +1007,7 @@ TGlslangToSpvTraverser::TGlslangToSpvTraverser(unsigned int spvVersion, const gl
|
||||
options(options),
|
||||
shaderEntry(nullptr), currentFunction(nullptr),
|
||||
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),
|
||||
glslangIntermediate(glslangIntermediate)
|
||||
{
|
||||
@ -6778,6 +6764,21 @@ spv::Id TGlslangToSpvTraverser::getExtBuiltins(const char* name)
|
||||
|
||||
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
|
||||
//
|
||||
|
1
deps/glslang/glslang/SPIRV/GlslangToSpv.h
vendored
1
deps/glslang/glslang/SPIRV/GlslangToSpv.h
vendored
@ -54,6 +54,7 @@ struct SpvOptions {
|
||||
bool optimizeSize;
|
||||
};
|
||||
|
||||
int GetSpirvGeneratorVersion();
|
||||
void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector<unsigned int>& spirv,
|
||||
SpvOptions* options = nullptr);
|
||||
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);
|
||||
|
||||
if (base->getAsCompiler())
|
||||
delete base->getAsCompiler();
|
||||
DeleteCompiler(base->getAsCompiler());
|
||||
else if (base->getAsLinker())
|
||||
DeleteLinker(base->getAsLinker());
|
||||
else if (base->getAsUniformMap())
|
||||
|
@ -114,4 +114,9 @@ void ReleaseGlobalLock()
|
||||
ReleaseMutex(GlobalLock);
|
||||
}
|
||||
|
||||
unsigned int __stdcall EnterGenericThread (void* entry)
|
||||
{
|
||||
return ((TThreadEntrypoint)entry)(0);
|
||||
}
|
||||
|
||||
} // namespace glslang
|
||||
|
Loading…
x
Reference in New Issue
Block a user