mirror of
https://github.com/RPCS3/glslang.git
synced 2024-11-24 03:39:51 +00:00
Merge branch 'master' into textureQueryLOD
This commit is contained in:
commit
a40e4ac3f7
14
BUILD.bazel
14
BUILD.bazel
@ -49,6 +49,11 @@ py_binary(
|
||||
srcs = ["build_info.py"],
|
||||
)
|
||||
|
||||
py_binary(
|
||||
name = "gen_extension_headers",
|
||||
srcs = ["gen_extension_headers.py"],
|
||||
)
|
||||
|
||||
genrule(
|
||||
name = "gen_build_info_h",
|
||||
srcs = ["CHANGES.md", "build_info.h.tmpl"],
|
||||
@ -58,6 +63,14 @@ genrule(
|
||||
tools = [":build_info"],
|
||||
)
|
||||
|
||||
genrule(
|
||||
name = "gen_extension_headers_h",
|
||||
srcs = ["glslang/ExtensionHeaders", "gen_extension_headers.py"],
|
||||
outs = ["glslang/glsl_intrinsic_header.h"],
|
||||
cmd_bash = "$(location gen_extension_headers) -i $(location glslang/ExtensionHeaders) -o $(location glslang/glsl_intrinsic_header.h)",
|
||||
tools = [":gen_extension_headers"],
|
||||
)
|
||||
|
||||
COMMON_COPTS = select({
|
||||
"@bazel_tools//src/conditions:windows": [""],
|
||||
"//conditions:default": [
|
||||
@ -206,6 +219,7 @@ cc_binary(
|
||||
srcs = [
|
||||
"StandAlone/StandAlone.cpp",
|
||||
"StandAlone/Worklist.h",
|
||||
":glslang/glsl_intrinsic_header.h"
|
||||
],
|
||||
copts = COMMON_COPTS,
|
||||
deps = [
|
||||
|
18
BUILD.gn
18
BUILD.gn
@ -69,6 +69,23 @@ action("glslang_build_info") {
|
||||
]
|
||||
}
|
||||
|
||||
action("glslang_extension_headers") {
|
||||
script = "gen_extension_headers.py"
|
||||
|
||||
out_file = "${target_gen_dir}/include/glslang/glsl_intrinsic_header.h"
|
||||
|
||||
inputs = [
|
||||
script
|
||||
]
|
||||
outputs = [ out_file ]
|
||||
args = [
|
||||
"-i",
|
||||
rebase_path("glslang/ExtensionHeaders", root_build_dir),
|
||||
"-o",
|
||||
rebase_path(out_file, root_build_dir),
|
||||
]
|
||||
}
|
||||
|
||||
spirv_tools_dir = glslang_spirv_tools_dir
|
||||
if (!defined(glslang_angle)) {
|
||||
glslang_angle = false
|
||||
@ -302,6 +319,7 @@ executable("glslang_validator") {
|
||||
":glslang_build_info",
|
||||
":glslang_default_resource_limits_sources",
|
||||
":glslang_sources",
|
||||
":glslang_extension_headers",
|
||||
]
|
||||
public_configs = [ ":glslang_hlsl" ]
|
||||
|
||||
|
16
CHANGES.md
16
CHANGES.md
@ -3,6 +3,22 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
This project adheres to [Semantic Versioning](https://semver.org/).
|
||||
|
||||
## 11.7.0 2021-11-11
|
||||
|
||||
### Other changes
|
||||
* Add support for targeting Vulkan 1.2 in the C API
|
||||
|
||||
## 11.6.0 2021-08-25
|
||||
|
||||
### Other changes
|
||||
* Atomic memory function only for shader storage block member or shared variable
|
||||
* Add support for gl_MaxVaryingVectors for ogl
|
||||
* Fix loading bool arrays from interface blocks
|
||||
* Generate separate stores for partially swizzled memory stores
|
||||
* Allow layout(std430) uniform with GL_EXT_scalar_block_layout
|
||||
* Support for pragma STDGL invariant(all)
|
||||
* Support for GL_NV_ray_tracing_motion_blur
|
||||
|
||||
## 11.5.0 2021-06-23
|
||||
|
||||
### Other changes
|
||||
|
@ -118,7 +118,7 @@ if(USE_CCACHE)
|
||||
find_program(CCACHE_FOUND ccache)
|
||||
if(CCACHE_FOUND)
|
||||
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
|
||||
endif(CCACHE_FOUND)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(ENABLE_CTEST)
|
||||
@ -127,26 +127,27 @@ endif()
|
||||
|
||||
if(ENABLE_HLSL)
|
||||
add_definitions(-DENABLE_HLSL)
|
||||
endif(ENABLE_HLSL)
|
||||
endif()
|
||||
|
||||
if(ENABLE_GLSLANG_WEBMIN)
|
||||
add_definitions(-DGLSLANG_WEB)
|
||||
if(ENABLE_GLSLANG_WEBMIN_DEVEL)
|
||||
add_definitions(-DGLSLANG_WEB_DEVEL)
|
||||
endif(ENABLE_GLSLANG_WEBMIN_DEVEL)
|
||||
endif(ENABLE_GLSLANG_WEBMIN)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
set(CMAKE_DEBUG_POSTFIX "d")
|
||||
if(MSVC)
|
||||
option(OVERRIDE_MSVCCRT "Overrides runtime of MSVC " ON)
|
||||
if(MSVC AND OVERRIDE_MSVCCRT)
|
||||
include(ChooseMSVCCRT.cmake)
|
||||
endif(MSVC)
|
||||
endif()
|
||||
add_definitions(-DGLSLANG_OSINCLUDE_WIN32)
|
||||
elseif(UNIX)
|
||||
add_definitions(-DGLSLANG_OSINCLUDE_UNIX)
|
||||
else(WIN32)
|
||||
else()
|
||||
message("unknown platform")
|
||||
endif(WIN32)
|
||||
endif()
|
||||
|
||||
if(${CMAKE_CXX_COMPILER_ID} MATCHES "GNU")
|
||||
add_compile_options(-Wall -Wmaybe-uninitialized -Wuninitialized -Wunused -Wunused-local-typedefs
|
||||
@ -197,7 +198,7 @@ elseif(MSVC)
|
||||
if(ENABLE_EXCEPTIONS)
|
||||
add_compile_options(/EHsc) # Enable Exceptions
|
||||
else()
|
||||
string(REGEX REPLACE /EHsc "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) # Try to remove default /EHsc cxx_flag
|
||||
string(REGEX REPLACE "/EHsc" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") # Try to remove default /EHsc cxx_flag
|
||||
add_compile_options(/D_HAS_EXCEPTIONS=0)
|
||||
endif()
|
||||
endif()
|
||||
@ -212,7 +213,7 @@ if(ENABLE_GLSLANG_JS)
|
||||
add_compile_options(-Wno-unused-variable -Wno-unused-const-variable)
|
||||
endif()
|
||||
endif()
|
||||
endif(ENABLE_GLSLANG_JS)
|
||||
endif()
|
||||
|
||||
# Request C++11
|
||||
if(${CMAKE_VERSION} VERSION_LESS 3.1)
|
||||
@ -328,7 +329,7 @@ endif()
|
||||
add_subdirectory(SPIRV)
|
||||
if(ENABLE_HLSL)
|
||||
add_subdirectory(hlsl)
|
||||
endif(ENABLE_HLSL)
|
||||
endif()
|
||||
if(ENABLE_CTEST)
|
||||
add_subdirectory(gtests)
|
||||
endif()
|
||||
@ -345,11 +346,11 @@ if(ENABLE_CTEST AND BUILD_TESTING)
|
||||
set(RESULTS_PATH ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIGURATION>/localResults)
|
||||
set(VALIDATOR_PATH ${CMAKE_CURRENT_BINARY_DIR}/StandAlone/$<CONFIGURATION>/glslangValidator)
|
||||
set(REMAP_PATH ${CMAKE_CURRENT_BINARY_DIR}/StandAlone/$<CONFIGURATION>/spirv-remap)
|
||||
else(CMAKE_CONFIGURATION_TYPES)
|
||||
else()
|
||||
set(RESULTS_PATH ${CMAKE_CURRENT_BINARY_DIR}/localResults)
|
||||
set(VALIDATOR_PATH ${CMAKE_CURRENT_BINARY_DIR}/StandAlone/glslangValidator)
|
||||
set(REMAP_PATH ${CMAKE_CURRENT_BINARY_DIR}/StandAlone/spirv-remap)
|
||||
endif(CMAKE_CONFIGURATION_TYPES)
|
||||
endif()
|
||||
|
||||
add_test(NAME glslang-testsuite
|
||||
COMMAND bash ${IGNORE_CR_FLAG} runtests ${RESULTS_PATH} ${VALIDATOR_PATH} ${REMAP_PATH}
|
||||
|
@ -101,12 +101,12 @@ if(ENABLE_OPT)
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/External>)
|
||||
else()
|
||||
target_link_libraries(SPIRV PRIVATE MachineIndependent)
|
||||
endif(ENABLE_OPT)
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
source_group("Source" FILES ${SOURCES} ${HEADERS})
|
||||
source_group("Source" FILES ${SPVREMAP_SOURCES} ${SPVREMAP_HEADERS})
|
||||
endif(WIN32)
|
||||
endif()
|
||||
|
||||
if(ENABLE_GLSLANG_INSTALL)
|
||||
if(BUILD_SHARED_LIBS)
|
||||
@ -135,4 +135,4 @@ if(ENABLE_GLSLANG_INSTALL)
|
||||
install(EXPORT SPIRVTargets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake)
|
||||
|
||||
install(FILES ${HEADERS} ${SPVREMAP_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/glslang/SPIRV/)
|
||||
endif(ENABLE_GLSLANG_INSTALL)
|
||||
endif()
|
||||
|
@ -69,6 +69,9 @@ const char* const E_SPV_NV_mesh_shader = "SPV_NV_mesh_shader";
|
||||
//SPV_NV_raytracing
|
||||
const char* const E_SPV_NV_ray_tracing = "SPV_NV_ray_tracing";
|
||||
|
||||
//SPV_NV_ray_tracing_motion_blur
|
||||
const char* const E_SPV_NV_ray_tracing_motion_blur = "SPV_NV_ray_tracing_motion_blur";
|
||||
|
||||
//SPV_NV_shading_rate
|
||||
const char* const E_SPV_NV_shading_rate = "SPV_NV_shading_rate";
|
||||
|
||||
|
@ -1033,6 +1033,10 @@ spv::BuiltIn TGlslangToSpvTraverser::TranslateBuiltInDecoration(glslang::TBuiltI
|
||||
return spv::BuiltInIncomingRayFlagsKHR;
|
||||
case glslang::EbvGeometryIndex:
|
||||
return spv::BuiltInRayGeometryIndexKHR;
|
||||
case glslang::EbvCurrentRayTimeNV:
|
||||
builder.addExtension(spv::E_SPV_NV_ray_tracing_motion_blur);
|
||||
builder.addCapability(spv::CapabilityRayTracingMotionBlurNV);
|
||||
return spv::BuiltInCurrentRayTimeNV;
|
||||
|
||||
// barycentrics
|
||||
case glslang::EbvBaryCoordNV:
|
||||
@ -1826,10 +1830,10 @@ TGlslangToSpvTraverser::TGlslangToSpvTraverser(unsigned int spvVersion,
|
||||
std::vector<spv::Id> operandIds;
|
||||
assert(!modeId.second.empty());
|
||||
for (auto extraOperand : modeId.second) {
|
||||
int nextConst = 0;
|
||||
spv::Id operandId = createSpvConstantFromConstUnionArray(
|
||||
extraOperand->getType(), extraOperand->getConstArray(), nextConst, false);
|
||||
operandIds.push_back(operandId);
|
||||
if (extraOperand->getType().getQualifier().isSpecConstant())
|
||||
operandIds.push_back(getSymbolId(extraOperand->getAsSymbolNode()));
|
||||
else
|
||||
operandIds.push_back(createSpvConstant(*extraOperand));
|
||||
}
|
||||
builder.addExecutionModeId(shaderEntry, static_cast<spv::ExecutionMode>(modeId.first), operandIds);
|
||||
}
|
||||
@ -3018,6 +3022,7 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
|
||||
case glslang::EOpIgnoreIntersectionNV:
|
||||
case glslang::EOpTerminateRayNV:
|
||||
case glslang::EOpTraceNV:
|
||||
case glslang::EOpTraceRayMotionNV:
|
||||
case glslang::EOpTraceKHR:
|
||||
case glslang::EOpExecuteCallableNV:
|
||||
case glslang::EOpExecuteCallableKHR:
|
||||
@ -3317,9 +3322,11 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
|
||||
bool cond = glslangOperands[arg]->getAsConstantUnion()->getConstArray()[0].getBConst();
|
||||
operands.push_back(builder.makeIntConstant(cond ? 1 : 0));
|
||||
} else if ((arg == 10 && glslangOp == glslang::EOpTraceKHR) ||
|
||||
(arg == 11 && glslangOp == glslang::EOpTraceRayMotionNV) ||
|
||||
(arg == 1 && glslangOp == glslang::EOpExecuteCallableKHR)) {
|
||||
const int opdNum = glslangOp == glslang::EOpTraceKHR ? 10 : 1;
|
||||
const int set = glslangOp == glslang::EOpTraceKHR ? 0 : 1;
|
||||
const int opdNum = glslangOp == glslang::EOpTraceKHR ? 10 : (glslangOp == glslang::EOpTraceRayMotionNV ? 11 : 1);
|
||||
const int set = glslangOp == glslang::EOpExecuteCallableKHR ? 1 : 0;
|
||||
|
||||
const int location = glslangOperands[opdNum]->getAsConstantUnion()->getConstArray()[0].getUConst();
|
||||
auto itNode = locationToSymbol[set].find(location);
|
||||
visitSymbol(itNode->second);
|
||||
@ -3377,7 +3384,7 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
|
||||
const auto& spirvInst = node->getSpirvInstruction();
|
||||
if (spirvInst.set == "") {
|
||||
std::vector<spv::IdImmediate> idImmOps;
|
||||
for (int i = 0; i < glslangOperands.size(); ++i) {
|
||||
for (unsigned int i = 0; i < glslangOperands.size(); ++i) {
|
||||
if (glslangOperands[i]->getAsTyped()->getQualifier().isSpirvLiteral()) {
|
||||
// Translate the constant to a literal value
|
||||
std::vector<unsigned> literals;
|
||||
@ -3933,12 +3940,14 @@ spv::Id TGlslangToSpvTraverser::getSampledType(const glslang::TSampler& sampler)
|
||||
builder.addExtension(spv::E_SPV_AMD_gpu_shader_half_float_fetch);
|
||||
builder.addCapability(spv::CapabilityFloat16ImageAMD);
|
||||
return builder.makeFloatType(16);
|
||||
case glslang::EbtInt64: return builder.makeIntType(64);
|
||||
case glslang::EbtInt64:
|
||||
builder.addExtension(spv::E_SPV_EXT_shader_image_int64);
|
||||
builder.addCapability(spv::CapabilityFloat16ImageAMD);
|
||||
case glslang::EbtUint64: return builder.makeUintType(64);
|
||||
builder.addCapability(spv::CapabilityInt64ImageEXT);
|
||||
return builder.makeIntType(64);
|
||||
case glslang::EbtUint64:
|
||||
builder.addExtension(spv::E_SPV_EXT_shader_image_int64);
|
||||
builder.addCapability(spv::CapabilityFloat16ImageAMD);
|
||||
builder.addCapability(spv::CapabilityInt64ImageEXT);
|
||||
return builder.makeUintType(64);
|
||||
#endif
|
||||
default:
|
||||
assert(0);
|
||||
@ -4139,68 +4148,55 @@ spv::Id TGlslangToSpvTraverser::convertGlslangToSpvType(const glslang::TType& ty
|
||||
const auto& spirvType = type.getSpirvType();
|
||||
const auto& spirvInst = spirvType.spirvInst;
|
||||
|
||||
std::vector<spv::Id> operands;
|
||||
std::vector<spv::IdImmediate> operands;
|
||||
for (const auto& typeParam : spirvType.typeParams) {
|
||||
if (typeParam.isConstant) {
|
||||
// Constant expression
|
||||
if (typeParam.constant->isLiteral()) {
|
||||
if (typeParam.constant->getBasicType() == glslang::EbtFloat) {
|
||||
float floatValue = static_cast<float>(typeParam.constant->getConstArray()[0].getDConst());
|
||||
unsigned literal = *reinterpret_cast<unsigned*>(&floatValue);
|
||||
operands.push_back(literal);
|
||||
} else if (typeParam.constant->getBasicType() == glslang::EbtInt) {
|
||||
unsigned literal = typeParam.constant->getConstArray()[0].getIConst();
|
||||
operands.push_back(literal);
|
||||
} else if (typeParam.constant->getBasicType() == glslang::EbtUint) {
|
||||
unsigned literal = typeParam.constant->getConstArray()[0].getUConst();
|
||||
operands.push_back(literal);
|
||||
} else if (typeParam.constant->getBasicType() == glslang::EbtBool) {
|
||||
unsigned literal = typeParam.constant->getConstArray()[0].getBConst();
|
||||
operands.push_back(literal);
|
||||
} else if (typeParam.constant->getBasicType() == glslang::EbtString) {
|
||||
auto str = typeParam.constant->getConstArray()[0].getSConst()->c_str();
|
||||
unsigned literal = 0;
|
||||
char* literalPtr = reinterpret_cast<char*>(&literal);
|
||||
unsigned charCount = 0;
|
||||
char ch = 0;
|
||||
do {
|
||||
ch = *(str++);
|
||||
*(literalPtr++) = ch;
|
||||
++charCount;
|
||||
if (charCount == 4) {
|
||||
operands.push_back(literal);
|
||||
literalPtr = reinterpret_cast<char*>(&literal);
|
||||
charCount = 0;
|
||||
}
|
||||
} while (ch != 0);
|
||||
|
||||
// Partial literal is padded with 0
|
||||
if (charCount > 0) {
|
||||
for (; charCount < 4; ++charCount)
|
||||
*(literalPtr++) = 0;
|
||||
operands.push_back(literal);
|
||||
// Constant expression
|
||||
if (typeParam.constant->isLiteral()) {
|
||||
if (typeParam.constant->getBasicType() == glslang::EbtFloat) {
|
||||
float floatValue = static_cast<float>(typeParam.constant->getConstArray()[0].getDConst());
|
||||
unsigned literal = *reinterpret_cast<unsigned*>(&floatValue);
|
||||
operands.push_back({false, literal});
|
||||
} else if (typeParam.constant->getBasicType() == glslang::EbtInt) {
|
||||
unsigned literal = typeParam.constant->getConstArray()[0].getIConst();
|
||||
operands.push_back({false, literal});
|
||||
} else if (typeParam.constant->getBasicType() == glslang::EbtUint) {
|
||||
unsigned literal = typeParam.constant->getConstArray()[0].getUConst();
|
||||
operands.push_back({false, literal});
|
||||
} else if (typeParam.constant->getBasicType() == glslang::EbtBool) {
|
||||
unsigned literal = typeParam.constant->getConstArray()[0].getBConst();
|
||||
operands.push_back({false, literal});
|
||||
} else if (typeParam.constant->getBasicType() == glslang::EbtString) {
|
||||
auto str = typeParam.constant->getConstArray()[0].getSConst()->c_str();
|
||||
unsigned literal = 0;
|
||||
char* literalPtr = reinterpret_cast<char*>(&literal);
|
||||
unsigned charCount = 0;
|
||||
char ch = 0;
|
||||
do {
|
||||
ch = *(str++);
|
||||
*(literalPtr++) = ch;
|
||||
++charCount;
|
||||
if (charCount == 4) {
|
||||
operands.push_back({false, literal});
|
||||
literalPtr = reinterpret_cast<char*>(&literal);
|
||||
charCount = 0;
|
||||
}
|
||||
} else
|
||||
assert(0); // Unexpected type
|
||||
} else {
|
||||
int nextConst = 0;
|
||||
spv::Id constant = createSpvConstantFromConstUnionArray(
|
||||
typeParam.constant->getType(), typeParam.constant->getConstArray(), nextConst, false);
|
||||
operands.push_back(constant);
|
||||
}
|
||||
} else {
|
||||
// Type specifier
|
||||
spv::Id typeId = convertGlslangToSpvType(*typeParam.type);
|
||||
operands.push_back(typeId);
|
||||
}
|
||||
} while (ch != 0);
|
||||
|
||||
// Partial literal is padded with 0
|
||||
if (charCount > 0) {
|
||||
for (; charCount < 4; ++charCount)
|
||||
*(literalPtr++) = 0;
|
||||
operands.push_back({false, literal});
|
||||
}
|
||||
} else
|
||||
assert(0); // Unexpected type
|
||||
} else
|
||||
operands.push_back({true, createSpvConstant(*typeParam.constant)});
|
||||
}
|
||||
|
||||
if (spirvInst.set == "")
|
||||
spvType = builder.createOp(static_cast<spv::Op>(spirvInst.id), spv::NoType, operands);
|
||||
else {
|
||||
spvType = builder.createBuiltinCall(
|
||||
spv::NoType, getExtBuiltins(spirvInst.set.c_str()), spirvInst.id, operands);
|
||||
}
|
||||
assert(spirvInst.set == ""); // Currently, couldn't be extended instructions.
|
||||
spvType = builder.makeGenericType(static_cast<spv::Op>(spirvInst.id), operands);
|
||||
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
@ -7499,6 +7495,8 @@ spv::Id TGlslangToSpvTraverser::createInvocationsOperation(glslang::TOperator op
|
||||
break;
|
||||
case glslang::EOpReadFirstInvocation:
|
||||
opCode = spv::OpSubgroupFirstInvocationKHR;
|
||||
if (builder.isVectorType(typeId))
|
||||
return CreateInvocationsVectorOperation(opCode, groupOperation, typeId, operands);
|
||||
break;
|
||||
case glslang::EOpBallot:
|
||||
{
|
||||
@ -7623,7 +7621,7 @@ spv::Id TGlslangToSpvTraverser::CreateInvocationsVectorOperation(spv::Op op, spv
|
||||
assert(op == spv::OpGroupFMin || op == spv::OpGroupUMin || op == spv::OpGroupSMin ||
|
||||
op == spv::OpGroupFMax || op == spv::OpGroupUMax || op == spv::OpGroupSMax ||
|
||||
op == spv::OpGroupFAdd || op == spv::OpGroupIAdd || op == spv::OpGroupBroadcast ||
|
||||
op == spv::OpSubgroupReadInvocationKHR ||
|
||||
op == spv::OpSubgroupReadInvocationKHR || op == spv::OpSubgroupFirstInvocationKHR ||
|
||||
op == spv::OpGroupFMinNonUniformAMD || op == spv::OpGroupUMinNonUniformAMD ||
|
||||
op == spv::OpGroupSMinNonUniformAMD ||
|
||||
op == spv::OpGroupFMaxNonUniformAMD || op == spv::OpGroupUMaxNonUniformAMD ||
|
||||
@ -7652,6 +7650,8 @@ spv::Id TGlslangToSpvTraverser::CreateInvocationsVectorOperation(spv::Op op, spv
|
||||
spvGroupOperands.push_back(scalar);
|
||||
spv::IdImmediate operand = { true, operands[1] };
|
||||
spvGroupOperands.push_back(operand);
|
||||
} else if (op == spv::OpSubgroupFirstInvocationKHR) {
|
||||
spvGroupOperands.push_back(scalar);
|
||||
} else if (op == spv::OpGroupBroadcast) {
|
||||
spv::IdImmediate scope = { true, builder.makeUintConstant(spv::ScopeSubgroup) };
|
||||
spvGroupOperands.push_back(scope);
|
||||
@ -8322,6 +8322,11 @@ spv::Id TGlslangToSpvTraverser::createMiscOperation(glslang::TOperator op, spv::
|
||||
case glslang::EOpTraceNV:
|
||||
builder.createNoResultOp(spv::OpTraceNV, operands);
|
||||
return 0;
|
||||
case glslang::EOpTraceRayMotionNV:
|
||||
builder.addExtension(spv::E_SPV_NV_ray_tracing_motion_blur);
|
||||
builder.addCapability(spv::CapabilityRayTracingMotionBlurNV);
|
||||
builder.createNoResultOp(spv::OpTraceRayMotionNV, operands);
|
||||
return 0;
|
||||
case glslang::EOpTraceKHR:
|
||||
builder.createNoResultOp(spv::OpTraceRayKHR, operands);
|
||||
return 0;
|
||||
@ -8829,12 +8834,12 @@ spv::Id TGlslangToSpvTraverser::getSymbolId(const glslang::TIntermSymbol* symbol
|
||||
std::vector<spv::Id> operandIds;
|
||||
assert(!decorateId.second.empty());
|
||||
for (auto extraOperand : decorateId.second) {
|
||||
int nextConst = 0;
|
||||
spv::Id operandId = createSpvConstantFromConstUnionArray(
|
||||
extraOperand->getType(), extraOperand->getConstArray(), nextConst, false);
|
||||
operandIds.push_back(operandId);
|
||||
if (extraOperand->getQualifier().isSpecConstant())
|
||||
operandIds.push_back(getSymbolId(extraOperand->getAsSymbolNode()));
|
||||
else
|
||||
operandIds.push_back(createSpvConstant(*extraOperand));
|
||||
}
|
||||
builder.addDecoration(id, static_cast<spv::Decoration>(decorateId.first), operandIds);
|
||||
builder.addDecorationId(id, static_cast<spv::Decoration>(decorateId.first), operandIds);
|
||||
}
|
||||
|
||||
// Add spirv_decorate_string
|
||||
|
@ -427,6 +427,37 @@ Id Builder::makeCooperativeMatrixType(Id component, Id scope, Id rows, Id cols)
|
||||
return type->getResultId();
|
||||
}
|
||||
|
||||
Id Builder::makeGenericType(spv::Op opcode, std::vector<spv::IdImmediate>& operands)
|
||||
{
|
||||
// try to find it
|
||||
Instruction* type;
|
||||
for (int t = 0; t < (int)groupedTypes[opcode].size(); ++t) {
|
||||
type = groupedTypes[opcode][t];
|
||||
if (type->getNumOperands() != operands.size())
|
||||
continue; // Number mismatch, find next
|
||||
|
||||
bool match = true;
|
||||
for (int op = 0; match && op < operands.size(); ++op) {
|
||||
match = (operands[op].isId ? type->getIdOperand(op) : type->getImmediateOperand(op)) == operands[op].word;
|
||||
}
|
||||
if (match)
|
||||
return type->getResultId();
|
||||
}
|
||||
|
||||
// not found, make it
|
||||
type = new Instruction(getUniqueId(), NoType, opcode);
|
||||
for (int op = 0; op < operands.size(); ++op) {
|
||||
if (operands[op].isId)
|
||||
type->addIdOperand(operands[op].word);
|
||||
else
|
||||
type->addImmediateOperand(operands[op].word);
|
||||
}
|
||||
groupedTypes[opcode].push_back(type);
|
||||
constantsTypesGlobals.push_back(std::unique_ptr<Instruction>(type));
|
||||
module.mapInstruction(type);
|
||||
|
||||
return type->getResultId();
|
||||
}
|
||||
|
||||
// TODO: performance: track arrays per stride
|
||||
// If a stride is supplied (non-zero) make an array.
|
||||
@ -2812,6 +2843,7 @@ void Builder::accessChainStore(Id rvalue, Decoration nonUniform, spv::MemoryAcce
|
||||
accessChain.component == NoResult) {
|
||||
for (unsigned int i = 0; i < accessChain.swizzle.size(); ++i) {
|
||||
accessChain.indexChain.push_back(makeUintConstant(accessChain.swizzle[i]));
|
||||
accessChain.instr = NoResult;
|
||||
|
||||
Id base = collapseAccessChain();
|
||||
addDecoration(base, nonUniform);
|
||||
|
@ -181,6 +181,7 @@ public:
|
||||
Id makeSamplerType();
|
||||
Id makeSampledImageType(Id imageType);
|
||||
Id makeCooperativeMatrixType(Id component, Id scope, Id rows, Id cols);
|
||||
Id makeGenericType(spv::Op opcode, std::vector<spv::IdImmediate>& operands);
|
||||
|
||||
// accelerationStructureNV type
|
||||
Id makeAccelerationStructureType();
|
||||
|
@ -44,10 +44,8 @@
|
||||
#include <algorithm>
|
||||
|
||||
#include "SpvBuilder.h"
|
||||
|
||||
#include "spirv.hpp"
|
||||
#include "GlslangToSpv.h"
|
||||
#include "SpvBuilder.h"
|
||||
|
||||
namespace spv {
|
||||
#include "GLSL.std.450.h"
|
||||
#include "GLSL.ext.KHR.h"
|
||||
@ -113,8 +111,6 @@ void Builder::postProcessType(const Instruction& inst, Id typeId)
|
||||
}
|
||||
}
|
||||
break;
|
||||
case OpAccessChain:
|
||||
case OpPtrAccessChain:
|
||||
case OpCopyObject:
|
||||
break;
|
||||
case OpFConvert:
|
||||
@ -161,26 +157,43 @@ void Builder::postProcessType(const Instruction& inst, Id typeId)
|
||||
switch (inst.getImmediateOperand(1)) {
|
||||
case GLSLstd450Frexp:
|
||||
case GLSLstd450FrexpStruct:
|
||||
if (getSpvVersion() < glslang::EShTargetSpv_1_3 && containsType(typeId, OpTypeInt, 16))
|
||||
if (getSpvVersion() < spv::Spv_1_3 && containsType(typeId, OpTypeInt, 16))
|
||||
addExtension(spv::E_SPV_AMD_gpu_shader_int16);
|
||||
break;
|
||||
case GLSLstd450InterpolateAtCentroid:
|
||||
case GLSLstd450InterpolateAtSample:
|
||||
case GLSLstd450InterpolateAtOffset:
|
||||
if (getSpvVersion() < glslang::EShTargetSpv_1_3 && containsType(typeId, OpTypeFloat, 16))
|
||||
if (getSpvVersion() < spv::Spv_1_3 && containsType(typeId, OpTypeFloat, 16))
|
||||
addExtension(spv::E_SPV_AMD_gpu_shader_half_float);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case OpAccessChain:
|
||||
case OpPtrAccessChain:
|
||||
if (isPointerType(typeId))
|
||||
break;
|
||||
if (basicTypeOp == OpTypeInt) {
|
||||
if (width == 16)
|
||||
addCapability(CapabilityInt16);
|
||||
else if (width == 8)
|
||||
addCapability(CapabilityInt8);
|
||||
}
|
||||
default:
|
||||
if (basicTypeOp == OpTypeFloat && width == 16)
|
||||
addCapability(CapabilityFloat16);
|
||||
if (basicTypeOp == OpTypeInt && width == 16)
|
||||
addCapability(CapabilityInt16);
|
||||
if (basicTypeOp == OpTypeInt && width == 8)
|
||||
addCapability(CapabilityInt8);
|
||||
if (basicTypeOp == OpTypeInt) {
|
||||
if (width == 16)
|
||||
addCapability(CapabilityInt16);
|
||||
else if (width == 8)
|
||||
addCapability(CapabilityInt8);
|
||||
else if (width == 64)
|
||||
addCapability(CapabilityInt64);
|
||||
} else if (basicTypeOp == OpTypeFloat) {
|
||||
if (width == 16)
|
||||
addCapability(CapabilityFloat16);
|
||||
else if (width == 64)
|
||||
addCapability(CapabilityFloat64);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -426,6 +426,7 @@ const char* BuiltInString(int builtIn)
|
||||
case BuiltInSMCountNV: return "SMCountNV";
|
||||
case BuiltInWarpIDNV: return "WarpIDNV";
|
||||
case BuiltInSMIDNV: return "SMIDNV";
|
||||
case BuiltInCurrentRayTimeNV: return "CurrentRayTimeNV";
|
||||
|
||||
default: return "Bad";
|
||||
}
|
||||
@ -899,6 +900,12 @@ const char* CapabilityString(int info)
|
||||
case CapabilityDeviceGroup: return "DeviceGroup";
|
||||
case CapabilityMultiView: return "MultiView";
|
||||
|
||||
case CapabilityDenormPreserve: return "DenormPreserve";
|
||||
case CapabilityDenormFlushToZero: return "DenormFlushToZero";
|
||||
case CapabilitySignedZeroInfNanPreserve: return "SignedZeroInfNanPreserve";
|
||||
case CapabilityRoundingModeRTE: return "RoundingModeRTE";
|
||||
case CapabilityRoundingModeRTZ: return "RoundingModeRTZ";
|
||||
|
||||
case CapabilityStencilExportEXT: return "StencilExportEXT";
|
||||
|
||||
case CapabilityFloat16ImageAMD: return "Float16ImageAMD";
|
||||
@ -916,6 +923,7 @@ const char* CapabilityString(int info)
|
||||
case CapabilityPerViewAttributesNV: return "PerViewAttributesNV";
|
||||
case CapabilityGroupNonUniformPartitionedNV: return "GroupNonUniformPartitionedNV";
|
||||
case CapabilityRayTracingNV: return "RayTracingNV";
|
||||
case CapabilityRayTracingMotionBlurNV: return "RayTracingMotionBlurNV";
|
||||
case CapabilityRayTracingKHR: return "RayTracingKHR";
|
||||
case CapabilityRayQueryKHR: return "RayQueryKHR";
|
||||
case CapabilityRayTracingProvisionalKHR: return "RayTracingProvisionalKHR";
|
||||
@ -1382,6 +1390,7 @@ const char* OpcodeString(int op)
|
||||
case OpTerminateRayNV: return "OpTerminateRayNV";
|
||||
case OpTerminateRayKHR: return "OpTerminateRayKHR";
|
||||
case OpTraceNV: return "OpTraceNV";
|
||||
case OpTraceRayMotionNV: return "OpTraceRayMotionNV";
|
||||
case OpTraceRayKHR: return "OpTraceRayKHR";
|
||||
case OpTypeAccelerationStructureKHR: return "OpTypeAccelerationStructureKHR";
|
||||
case OpExecuteCallableNV: return "OpExecuteCallableNV";
|
||||
@ -2812,6 +2821,20 @@ void Parameterize()
|
||||
InstructionDesc[OpTraceNV].operands.push(OperandId, "'Payload'");
|
||||
InstructionDesc[OpTraceNV].setResultAndType(false, false);
|
||||
|
||||
InstructionDesc[OpTraceRayMotionNV].operands.push(OperandId, "'Acceleration Structure'");
|
||||
InstructionDesc[OpTraceRayMotionNV].operands.push(OperandId, "'Ray Flags'");
|
||||
InstructionDesc[OpTraceRayMotionNV].operands.push(OperandId, "'Cull Mask'");
|
||||
InstructionDesc[OpTraceRayMotionNV].operands.push(OperandId, "'SBT Record Offset'");
|
||||
InstructionDesc[OpTraceRayMotionNV].operands.push(OperandId, "'SBT Record Stride'");
|
||||
InstructionDesc[OpTraceRayMotionNV].operands.push(OperandId, "'Miss Index'");
|
||||
InstructionDesc[OpTraceRayMotionNV].operands.push(OperandId, "'Ray Origin'");
|
||||
InstructionDesc[OpTraceRayMotionNV].operands.push(OperandId, "'TMin'");
|
||||
InstructionDesc[OpTraceRayMotionNV].operands.push(OperandId, "'Ray Direction'");
|
||||
InstructionDesc[OpTraceRayMotionNV].operands.push(OperandId, "'TMax'");
|
||||
InstructionDesc[OpTraceRayMotionNV].operands.push(OperandId, "'Time'");
|
||||
InstructionDesc[OpTraceRayMotionNV].operands.push(OperandId, "'Payload'");
|
||||
InstructionDesc[OpTraceRayMotionNV].setResultAndType(false, false);
|
||||
|
||||
InstructionDesc[OpTraceRayKHR].operands.push(OperandId, "'Acceleration Structure'");
|
||||
InstructionDesc[OpTraceRayKHR].operands.push(OperandId, "'Ray Flags'");
|
||||
InstructionDesc[OpTraceRayKHR].operands.push(OperandId, "'Cull Mask'");
|
||||
|
@ -652,6 +652,7 @@ enum BuiltIn {
|
||||
BuiltInHitTNV = 5332,
|
||||
BuiltInHitKindKHR = 5333,
|
||||
BuiltInHitKindNV = 5333,
|
||||
BuiltInCurrentRayTimeNV = 5334,
|
||||
BuiltInIncomingRayFlagsKHR = 5351,
|
||||
BuiltInIncomingRayFlagsNV = 5351,
|
||||
BuiltInRayGeometryIndexKHR = 5352,
|
||||
@ -988,6 +989,7 @@ enum Capability {
|
||||
CapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
|
||||
CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
|
||||
CapabilityRayTracingNV = 5340,
|
||||
CapabilityRayTracingMotionBlurNV = 5341,
|
||||
CapabilityVulkanMemoryModel = 5345,
|
||||
CapabilityVulkanMemoryModelKHR = 5345,
|
||||
CapabilityVulkanMemoryModelDeviceScope = 5346,
|
||||
@ -1503,6 +1505,8 @@ enum Op {
|
||||
OpIgnoreIntersectionNV = 5335,
|
||||
OpTerminateRayNV = 5336,
|
||||
OpTraceNV = 5337,
|
||||
OpTraceMotionNV = 5338,
|
||||
OpTraceRayMotionNV = 5339,
|
||||
OpTypeAccelerationStructureKHR = 5341,
|
||||
OpTypeAccelerationStructureNV = 5341,
|
||||
OpExecuteCallableNV = 5344,
|
||||
@ -1539,7 +1543,7 @@ enum Op {
|
||||
OpUSubSatINTEL = 5596,
|
||||
OpIMul32x16INTEL = 5597,
|
||||
OpUMul32x16INTEL = 5598,
|
||||
OpConstFunctionPointerINTEL = 5600,
|
||||
OpConstantFunctionPointerINTEL = 5600,
|
||||
OpFunctionPointerCallINTEL = 5601,
|
||||
OpAsmTargetINTEL = 5609,
|
||||
OpAsmINTEL = 5610,
|
||||
@ -2090,6 +2094,8 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case OpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
|
||||
case OpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
|
||||
case OpTraceNV: *hasResult = false; *hasResultType = false; break;
|
||||
case OpTraceMotionNV: *hasResult = false; *hasResultType = false; break;
|
||||
case OpTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
|
||||
case OpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
|
||||
case OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
|
||||
case OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
|
||||
@ -2125,7 +2131,7 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConstFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConstantFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAsmINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
|
@ -31,6 +31,22 @@
|
||||
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
find_host_package(PythonInterp 3 REQUIRED)
|
||||
|
||||
set(GLSLANG_INTRINSIC_H "${GLSLANG_GENERATED_INCLUDEDIR}/glslang/glsl_intrinsic_header.h")
|
||||
set(GLSLANG_INTRINSIC_PY "${CMAKE_CURRENT_SOURCE_DIR}/../gen_extension_headers.py")
|
||||
set(GLSLANG_INTRINSIC_HEADER_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../glslang/ExtensionHeaders")
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${GLSLANG_INTRINSIC_H}
|
||||
COMMAND ${PYTHON_EXECUTABLE} "${GLSLANG_INTRINSIC_PY}"
|
||||
"-i" ${GLSLANG_INTRINSIC_HEADER_DIR}
|
||||
"-o" ${GLSLANG_INTRINSIC_H}
|
||||
DEPENDS ${GLSLANG_INTRINSIC_PY}
|
||||
COMMENT "Generating ${GLSLANG_INTRINSIC_H}")
|
||||
|
||||
#add_custom_target(glslangValidator DEPENDS ${GLSLANG_INTRINSIC_H})
|
||||
|
||||
add_library(glslang-default-resource-limits
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/ResourceLimits.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/resource_limits_c.cpp)
|
||||
@ -41,7 +57,7 @@ target_include_directories(glslang-default-resource-limits
|
||||
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||
PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>)
|
||||
|
||||
set(SOURCES StandAlone.cpp DirStackFileIncluder.h)
|
||||
set(SOURCES StandAlone.cpp DirStackFileIncluder.h ${GLSLANG_INTRINSIC_H})
|
||||
|
||||
add_executable(glslangValidator ${SOURCES})
|
||||
set_property(TARGET glslangValidator PROPERTY FOLDER tools)
|
||||
@ -62,7 +78,7 @@ elseif(UNIX)
|
||||
if(NOT ANDROID)
|
||||
set(LIBRARIES ${LIBRARIES} pthread)
|
||||
endif()
|
||||
endif(WIN32)
|
||||
endif()
|
||||
|
||||
target_link_libraries(glslangValidator ${LIBRARIES})
|
||||
target_include_directories(glslangValidator PUBLIC
|
||||
@ -73,7 +89,7 @@ if(ENABLE_OPT)
|
||||
target_include_directories(glslangValidator
|
||||
PRIVATE ${spirv-tools_SOURCE_DIR}/include
|
||||
)
|
||||
endif(ENABLE_OPT)
|
||||
endif()
|
||||
|
||||
if(ENABLE_SPVREMAPPER)
|
||||
set(REMAPPER_SOURCES spirv-remap.cpp)
|
||||
@ -85,7 +101,7 @@ endif()
|
||||
|
||||
if(WIN32)
|
||||
source_group("Source" FILES ${SOURCES})
|
||||
endif(WIN32)
|
||||
endif()
|
||||
|
||||
if(ENABLE_GLSLANG_INSTALL)
|
||||
install(TARGETS glslangValidator EXPORT glslangValidatorTargets
|
||||
@ -108,4 +124,4 @@ if(ENABLE_GLSLANG_INSTALL)
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
endif()
|
||||
install(EXPORT glslang-default-resource-limitsTargets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake)
|
||||
endif(ENABLE_GLSLANG_INSTALL)
|
||||
endif()
|
||||
|
@ -2,6 +2,7 @@
|
||||
// Copyright (C) 2002-2005 3Dlabs Inc. Ltd.
|
||||
// Copyright (C) 2013-2016 LunarG, Inc.
|
||||
// Copyright (C) 2016-2020 Google, Inc.
|
||||
// Modifications Copyright(C) 2021 Advanced Micro Devices, Inc.All rights reserved.
|
||||
//
|
||||
// All rights reserved.
|
||||
//
|
||||
@ -65,6 +66,8 @@
|
||||
// Build-time generated includes
|
||||
#include "glslang/build_info.h"
|
||||
|
||||
#include "glslang/glsl_intrinsic_header.h"
|
||||
|
||||
extern "C" {
|
||||
GLSLANG_EXPORT void ShOutputHtml();
|
||||
}
|
||||
@ -174,6 +177,7 @@ const char* shaderStageName = nullptr;
|
||||
const char* variableName = nullptr;
|
||||
bool HlslEnable16BitTypes = false;
|
||||
bool HlslDX9compatible = false;
|
||||
bool HlslDxPositionW = false;
|
||||
bool DumpBuiltinSymbols = false;
|
||||
std::vector<std::string> IncludeDirectoryList;
|
||||
|
||||
@ -263,6 +267,7 @@ protected:
|
||||
|
||||
// Track the user's #define and #undef from the command line.
|
||||
TPreamble UserPreamble;
|
||||
std::string PreambleString;
|
||||
|
||||
//
|
||||
// Create the default name for saving a binary if -o is not provided.
|
||||
@ -658,6 +663,8 @@ void ProcessArguments(std::vector<std::unique_ptr<glslang::TWorkItem>>& workItem
|
||||
HlslEnable16BitTypes = true;
|
||||
} else if (lowerword == "hlsl-dx9-compatible") {
|
||||
HlslDX9compatible = true;
|
||||
} else if (lowerword == "hlsl-dx-position-w") {
|
||||
HlslDxPositionW = true;
|
||||
} else if (lowerword == "auto-sampled-textures") {
|
||||
autoSampledTextures = true;
|
||||
} else if (lowerword == "invert-y" || // synonyms
|
||||
@ -1204,8 +1211,17 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
|
||||
"Use '-e <name>'.\n");
|
||||
shader->setSourceEntryPoint(sourceEntryPointName);
|
||||
}
|
||||
|
||||
std::string intrinsicString = getIntrinsic(compUnit.text, compUnit.count);
|
||||
|
||||
PreambleString = "";
|
||||
if (UserPreamble.isSet())
|
||||
shader->setPreamble(UserPreamble.get());
|
||||
PreambleString.append(UserPreamble.get());
|
||||
|
||||
if (!intrinsicString.empty())
|
||||
PreambleString.append(intrinsicString);
|
||||
|
||||
shader->setPreamble(PreambleString.c_str());
|
||||
shader->addProcesses(Processes);
|
||||
|
||||
#ifndef GLSLANG_WEB
|
||||
@ -1271,6 +1287,9 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
|
||||
if (Options & EOptionInvertY)
|
||||
shader->setInvertY(true);
|
||||
|
||||
if (HlslDxPositionW)
|
||||
shader->setDxPositionW(true);
|
||||
|
||||
// Set up the environment, some subsettings take precedence over earlier
|
||||
// ways of setting things.
|
||||
if (Options & EOptionSpv) {
|
||||
@ -1834,6 +1853,8 @@ void usage()
|
||||
" --hlsl-dx9-compatible interprets sampler declarations as a\n"
|
||||
" texture/sampler combo like DirectX9 would,\n"
|
||||
" and recognizes DirectX9-specific semantics\n"
|
||||
" --hlsl-dx-position-w W component of SV_Position in HLSL fragment\n"
|
||||
" shaders compatible with DirectX\n"
|
||||
" --invert-y | --iy invert position.Y output in vertex shader\n"
|
||||
" --keep-uncalled | --ku don't eliminate uncalled functions\n"
|
||||
" --nan-clamp favor non-NaN operand in min, max, and clamp\n"
|
||||
|
20
Test/BestMatchFunction.vert
Normal file
20
Test/BestMatchFunction.vert
Normal file
@ -0,0 +1,20 @@
|
||||
#version 150
|
||||
#extension GL_ARB_gpu_shader5 : require
|
||||
|
||||
uniform ivec4 u1;
|
||||
uniform uvec4 u2;
|
||||
out vec4 result;
|
||||
vec4 f(in vec4 a, in vec4 b){ return a * b;} // choice 1
|
||||
vec4 f(in uvec4 a, in uvec4 b){ return vec4(a - b);} // choice 2
|
||||
|
||||
void main()
|
||||
{
|
||||
result = f(u1, u2); // should match choice 2. which have less implicit conversion.
|
||||
switch (gl_VertexID)
|
||||
{
|
||||
case 0: gl_Position = vec4(-1.0, 1.0, 0.0, 1.0); break;
|
||||
case 1: gl_Position = vec4( 1.0, 1.0, 0.0, 1.0); break;
|
||||
case 2: gl_Position = vec4(-1.0,-1.0, 0.0, 1.0); break;
|
||||
case 3: gl_Position = vec4( 1.0,-1.0, 0.0, 1.0); break;
|
||||
}
|
||||
}
|
18
Test/GL_ARB_draw_instanced.vert
Normal file
18
Test/GL_ARB_draw_instanced.vert
Normal file
@ -0,0 +1,18 @@
|
||||
#version 150
|
||||
#extension GL_ARB_draw_instanced : require
|
||||
#define ID gl_InstanceID
|
||||
|
||||
uniform mat4 gtf_ModelViewProjectionMatrix;
|
||||
uniform vec3 instanceOffsets[3];
|
||||
in vec4 va[gl_MaxVertexAttribs];
|
||||
out vec4 color;
|
||||
|
||||
void main (void)
|
||||
{
|
||||
vec4 vertex = vec4(va[0].xy / 3.0, va[0].zw) + vec4(instanceOffsets[ID], 1.0);
|
||||
color = vec4(0, 0, 0, 0);
|
||||
for (int i = 1; i < gl_MaxVertexAttribs; i++)
|
||||
color += va[i];
|
||||
gl_Position = gtf_ModelViewProjectionMatrix * vertex;
|
||||
gl_PointSize = 1.0;
|
||||
}
|
13
Test/GL_EXT_shader_integer_mix.vert
Normal file
13
Test/GL_EXT_shader_integer_mix.vert
Normal file
@ -0,0 +1,13 @@
|
||||
#version 330
|
||||
#extension GL_EXT_shader_integer_mix: require
|
||||
|
||||
|
||||
#if !defined GL_EXT_shader_integer_mix
|
||||
# error GL_EXT_shader_integer_mix is not defined
|
||||
#elif GL_EXT_shader_integer_mix != 1
|
||||
# error GL_EXT_shader_integer_mix is not equal to 1
|
||||
#endif
|
||||
|
||||
void main(void) {
|
||||
gl_Position = vec4(0);
|
||||
}
|
28
Test/atomicCounterARBOps.vert
Normal file
28
Test/atomicCounterARBOps.vert
Normal file
@ -0,0 +1,28 @@
|
||||
#version 450 core
|
||||
#extension GL_ARB_shader_atomic_counters: enable
|
||||
#extension GL_ARB_shader_atomic_counter_ops:enable
|
||||
|
||||
layout(binding = 0) uniform atomic_uint counter;
|
||||
|
||||
out highp vec4 vsColor;
|
||||
|
||||
void main(){
|
||||
vec4 outColor = vec4(1.0);
|
||||
uint ret;
|
||||
|
||||
ret = atomicCounterAddARB(counter, 4u);
|
||||
ret = atomicCounterSubtractARB(counter, 4u);
|
||||
ret = atomicCounterMinARB(counter, 4u);
|
||||
ret = atomicCounterMaxARB(counter, 4u);
|
||||
ret = atomicCounterAndARB(counter, 4u);
|
||||
ret = atomicCounterOrARB(counter, 4u);
|
||||
ret = atomicCounterXorARB(counter, 4u);
|
||||
ret = atomicCounterExchangeARB(counter, 4u);
|
||||
ret = atomicCounterCompSwapARB(counter, 4u, 4u);
|
||||
|
||||
uint after = atomicCounter(counter);
|
||||
if (after == ret)
|
||||
outColor = vec4(0.0);
|
||||
|
||||
vsColor = outColor;
|
||||
}
|
@ -6,19 +6,17 @@ hlsl.flattenSubset.frag
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 47 50
|
||||
EntryPoint Fragment 4 "main" 50
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
Name 21 "samp"
|
||||
Name 33 "tex"
|
||||
Name 47 "vpos"
|
||||
Name 50 "@entryPointOutput"
|
||||
Decorate 21(samp) DescriptorSet 0
|
||||
Decorate 21(samp) Binding 0
|
||||
Decorate 33(tex) DescriptorSet 0
|
||||
Decorate 33(tex) Binding 1
|
||||
Decorate 47(vpos) Location 0
|
||||
Decorate 50(@entryPointOutput) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
@ -34,8 +32,6 @@ hlsl.flattenSubset.frag
|
||||
39: TypeVector 6(float) 2
|
||||
40: 6(float) Constant 1056964608
|
||||
41: 39(fvec2) ConstantComposite 40 40
|
||||
46: TypePointer Input 7(fvec4)
|
||||
47(vpos): 46(ptr) Variable Input
|
||||
49: TypePointer Output 7(fvec4)
|
||||
50(@entryPointOutput): 49(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
|
@ -6,13 +6,11 @@ hlsl.flattenSubset2.frag
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 49 52
|
||||
EntryPoint Fragment 4 "main" 52
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
Name 49 "vpos"
|
||||
Name 52 "@entryPointOutput"
|
||||
Decorate 49(vpos) Location 0
|
||||
Decorate 52(@entryPointOutput) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
@ -20,8 +18,6 @@ hlsl.flattenSubset2.frag
|
||||
7: TypeVector 6(float) 4
|
||||
43: 6(float) Constant 0
|
||||
44: 7(fvec4) ConstantComposite 43 43 43 43
|
||||
48: TypePointer Input 7(fvec4)
|
||||
49(vpos): 48(ptr) Variable Input
|
||||
51: TypePointer Output 7(fvec4)
|
||||
52(@entryPointOutput): 51(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
|
@ -24,18 +24,18 @@ ERROR: node is still EOpNull!
|
||||
0:42 Function Definition: main( ( global void)
|
||||
0:42 Function Parameters:
|
||||
0:44 Sequence
|
||||
0:44 texture ( global lowp 4-component vector of int)
|
||||
0:44 texture ( global lowp 4-component vector of int, operation at mediump)
|
||||
0:44 sampler: direct index for structure ( global lowp isampler3D)
|
||||
0:44 's' ( uniform structure{ global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{ global mediump int a} t})
|
||||
0:44 Constant:
|
||||
0:44 2 (const int)
|
||||
0:44 Construct vec3 ( temp lowp 3-component vector of float)
|
||||
0:44 Convert int to float ( temp lowp float)
|
||||
0:44 Construct vec3 ( temp mediump 3-component vector of float)
|
||||
0:44 Convert int to float ( temp mediump float)
|
||||
0:44 ni: direct index for structure (layout( column_major shared) uniform mediump int)
|
||||
0:44 'inst' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump 4-component vector of uint nbv, layout( column_major shared) uniform mediump int ni})
|
||||
0:44 Constant:
|
||||
0:44 1 (const int)
|
||||
0:44 Convert uint to float ( temp lowp float)
|
||||
0:44 Convert uint to float ( temp mediump float)
|
||||
0:44 direct index ( temp mediump uint)
|
||||
0:44 bv: direct index for structure (layout( column_major shared) uniform mediump 4-component vector of uint)
|
||||
0:44 'anon@0' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump 4-component vector of uint bv, layout( column_major shared) uniform mediump 2X2 matrix of float bm2, layout( column_major shared) uniform lowp isampler2D sampler, layout( column_major shared) uniform structure{ global mediump int a} t, layout( column_major shared) uniform structure{ global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, layout( column_major) global structure{ global mediump int a} t} fbs})
|
||||
@ -43,7 +43,7 @@ ERROR: node is still EOpNull!
|
||||
0:44 0 (const uint)
|
||||
0:44 Constant:
|
||||
0:44 1 (const int)
|
||||
0:44 Convert uint to float ( temp lowp float)
|
||||
0:44 Convert uint to float ( temp mediump float)
|
||||
0:44 direct index ( temp mediump uint)
|
||||
0:44 nbv: direct index for structure (layout( column_major shared) uniform mediump 4-component vector of uint)
|
||||
0:44 direct index (layout( column_major shared) temp block{layout( column_major shared) uniform mediump 4-component vector of uint nbv, layout( column_major shared) uniform mediump int ni})
|
||||
@ -92,18 +92,18 @@ ERROR: node is still EOpNull!
|
||||
0:42 Function Definition: main( ( global void)
|
||||
0:42 Function Parameters:
|
||||
0:44 Sequence
|
||||
0:44 texture ( global lowp 4-component vector of int)
|
||||
0:44 texture ( global lowp 4-component vector of int, operation at mediump)
|
||||
0:44 sampler: direct index for structure ( global lowp isampler3D)
|
||||
0:44 's' ( uniform structure{ global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{ global mediump int a} t})
|
||||
0:44 Constant:
|
||||
0:44 2 (const int)
|
||||
0:44 Construct vec3 ( temp lowp 3-component vector of float)
|
||||
0:44 Convert int to float ( temp lowp float)
|
||||
0:44 Construct vec3 ( temp mediump 3-component vector of float)
|
||||
0:44 Convert int to float ( temp mediump float)
|
||||
0:44 ni: direct index for structure (layout( column_major shared) uniform mediump int)
|
||||
0:44 'inst' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump 4-component vector of uint nbv, layout( column_major shared) uniform mediump int ni})
|
||||
0:44 Constant:
|
||||
0:44 1 (const int)
|
||||
0:44 Convert uint to float ( temp lowp float)
|
||||
0:44 Convert uint to float ( temp mediump float)
|
||||
0:44 direct index ( temp mediump uint)
|
||||
0:44 bv: direct index for structure (layout( column_major shared) uniform mediump 4-component vector of uint)
|
||||
0:44 'anon@0' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump 4-component vector of uint bv, layout( column_major shared) uniform mediump 2X2 matrix of float bm2, layout( column_major shared) uniform lowp isampler2D sampler, layout( column_major shared) uniform structure{ global mediump int a} t, layout( column_major shared) uniform structure{ global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, layout( column_major) global structure{ global mediump int a} t} fbs})
|
||||
@ -111,7 +111,7 @@ ERROR: node is still EOpNull!
|
||||
0:44 0 (const uint)
|
||||
0:44 Constant:
|
||||
0:44 1 (const int)
|
||||
0:44 Convert uint to float ( temp lowp float)
|
||||
0:44 Convert uint to float ( temp mediump float)
|
||||
0:44 direct index ( temp mediump uint)
|
||||
0:44 nbv: direct index for structure (layout( column_major shared) uniform mediump 4-component vector of uint)
|
||||
0:44 direct index (layout( column_major shared) temp block{layout( column_major shared) uniform mediump 4-component vector of uint nbv, layout( column_major shared) uniform mediump int ni})
|
||||
|
@ -180,7 +180,7 @@ ERROR: node is still EOpNull!
|
||||
0:91 'i' ( temp highp int)
|
||||
0:92 imageStore ( global highp void)
|
||||
0:92 'ii2da' ( writeonly uniform highp iimage2DArray)
|
||||
0:92 Construct ivec3 ( temp 3-component vector of int)
|
||||
0:92 Construct ivec3 ( temp highp 3-component vector of int)
|
||||
0:92 'i' ( temp highp int)
|
||||
0:92 'i' ( temp highp int)
|
||||
0:92 'i' ( temp highp int)
|
||||
@ -189,9 +189,9 @@ ERROR: node is still EOpNull!
|
||||
0:92 0 (const int)
|
||||
0:92 0 (const int)
|
||||
0:92 0 (const int)
|
||||
0:93 imageLoad ( global mediump 4-component vector of float)
|
||||
0:93 imageLoad ( global mediump 4-component vector of float, operation at highp)
|
||||
0:93 'img2Drgba' (layout( rgba32f) readonly uniform mediump image2D)
|
||||
0:93 Construct ivec2 ( temp mediump 2-component vector of int)
|
||||
0:93 Construct ivec2 ( temp highp 2-component vector of int)
|
||||
0:93 'i' ( temp highp int)
|
||||
0:93 'i' ( temp highp int)
|
||||
0:94 imageLoad ( global highp 4-component vector of int)
|
||||
|
@ -270,7 +270,7 @@ ERROR: node is still EOpNull!
|
||||
0:42 Constant:
|
||||
0:42 0.000000
|
||||
0:42 0.000000
|
||||
0:42 Convert float to int ( temp highp 2-component vector of int)
|
||||
0:42 Convert float to int ( temp mediump 2-component vector of int)
|
||||
0:42 'c2D' ( smooth in mediump 2-component vector of float)
|
||||
0:43 textureProjGradOffset ( global highp 4-component vector of uint)
|
||||
0:43 'usamp2d' ( uniform highp usampler2D)
|
||||
@ -471,7 +471,7 @@ ERROR: node is still EOpNull!
|
||||
0:211 Constant:
|
||||
0:211 0.100000
|
||||
0:211 0.100000
|
||||
0:211 Convert float to int ( temp highp 2-component vector of int)
|
||||
0:211 Convert float to int ( temp mediump 2-component vector of int)
|
||||
0:211 'inf' ( smooth in mediump 2-component vector of float)
|
||||
0:212 textureGatherOffsets ( global highp 4-component vector of float)
|
||||
0:212 direct index ( temp highp sampler2D)
|
||||
@ -507,7 +507,7 @@ ERROR: node is still EOpNull!
|
||||
0:221 Constant:
|
||||
0:221 0.100000
|
||||
0:221 0.100000
|
||||
0:221 Convert float to int ( temp highp 2-component vector of int)
|
||||
0:221 Convert float to int ( temp mediump 2-component vector of int)
|
||||
0:221 'inf' ( smooth in mediump 2-component vector of float)
|
||||
0:222 textureGatherOffsets ( global highp 4-component vector of float)
|
||||
0:222 direct index ( temp highp sampler2D)
|
||||
|
@ -330,7 +330,7 @@ ERROR: node is still EOpNull!
|
||||
0:164 'sIndex' ( uniform highp int)
|
||||
0:164 Constant:
|
||||
0:164 2 (const int)
|
||||
0:165 textureGatherOffset ( global lowp 4-component vector of float)
|
||||
0:165 textureGatherOffset ( global lowp 4-component vector of float, operation at highp)
|
||||
0:165 direct index ( temp lowp sampler2D)
|
||||
0:165 'sArray' ( uniform 4-element array of lowp sampler2D)
|
||||
0:165 Constant:
|
||||
@ -338,7 +338,7 @@ ERROR: node is still EOpNull!
|
||||
0:165 Constant:
|
||||
0:165 0.100000
|
||||
0:165 0.100000
|
||||
0:165 Convert float to int ( temp lowp 2-component vector of int)
|
||||
0:165 Convert float to int ( temp highp 2-component vector of int)
|
||||
0:165 'inf' ( in highp 2-component vector of float)
|
||||
0:166 textureGatherOffsets ( global lowp 4-component vector of float, operation at highp)
|
||||
0:166 direct index ( temp lowp sampler2D)
|
||||
@ -394,7 +394,7 @@ ERROR: node is still EOpNull!
|
||||
0:179 'sIndex' ( uniform highp int)
|
||||
0:179 Constant:
|
||||
0:179 2 (const int)
|
||||
0:180 textureGatherOffset ( global lowp 4-component vector of float)
|
||||
0:180 textureGatherOffset ( global lowp 4-component vector of float, operation at highp)
|
||||
0:180 direct index ( temp lowp sampler2D)
|
||||
0:180 'sArray' ( uniform 4-element array of lowp sampler2D)
|
||||
0:180 Constant:
|
||||
@ -402,7 +402,7 @@ ERROR: node is still EOpNull!
|
||||
0:180 Constant:
|
||||
0:180 0.100000
|
||||
0:180 0.100000
|
||||
0:180 Convert float to int ( temp lowp 2-component vector of int)
|
||||
0:180 Convert float to int ( temp highp 2-component vector of int)
|
||||
0:180 'inf' ( in highp 2-component vector of float)
|
||||
0:181 textureGatherOffsets ( global lowp 4-component vector of float, operation at highp)
|
||||
0:181 direct index ( temp lowp sampler2D)
|
||||
|
@ -121,7 +121,7 @@ ERROR: node is still EOpNull!
|
||||
0:76 'inf' ( smooth in mediump 2-component vector of float)
|
||||
0:76 'ing' ( smooth in mediump 2-component vector of float)
|
||||
0:76 'h' ( noContraction temp mediump 2-component vector of float)
|
||||
0:77 textureGatherOffset ( global lowp 4-component vector of float)
|
||||
0:77 textureGatherOffset ( global lowp 4-component vector of float, operation at mediump)
|
||||
0:77 direct index ( temp lowp sampler2D)
|
||||
0:77 'sArray' ( uniform 4-element array of lowp sampler2D)
|
||||
0:77 Constant:
|
||||
@ -129,7 +129,7 @@ ERROR: node is still EOpNull!
|
||||
0:77 Constant:
|
||||
0:77 0.100000
|
||||
0:77 0.100000
|
||||
0:77 Convert float to int ( temp lowp 2-component vector of int)
|
||||
0:77 Convert float to int ( temp mediump 2-component vector of int)
|
||||
0:77 'inf' ( smooth in mediump 2-component vector of float)
|
||||
0:78 textureGatherOffsets ( global lowp 4-component vector of float, operation at mediump)
|
||||
0:78 direct index ( temp lowp sampler2D)
|
||||
|
@ -99,7 +99,7 @@ ERROR: node is still EOpNull!
|
||||
0:70 'sIndex' ( uniform highp int)
|
||||
0:70 Constant:
|
||||
0:70 2 (const int)
|
||||
0:71 textureGatherOffset ( global lowp 4-component vector of float)
|
||||
0:71 textureGatherOffset ( global lowp 4-component vector of float, operation at highp)
|
||||
0:71 direct index ( temp lowp sampler2D)
|
||||
0:71 'sArray' ( uniform 4-element array of lowp sampler2D)
|
||||
0:71 Constant:
|
||||
@ -107,7 +107,7 @@ ERROR: node is still EOpNull!
|
||||
0:71 Constant:
|
||||
0:71 0.100000
|
||||
0:71 0.100000
|
||||
0:71 Convert float to int ( temp lowp 2-component vector of int)
|
||||
0:71 Convert float to int ( temp highp 2-component vector of int)
|
||||
0:71 'inf' ( in highp 2-component vector of float)
|
||||
0:72 textureGatherOffsets ( global lowp 4-component vector of float, operation at highp)
|
||||
0:72 direct index ( temp lowp sampler2D)
|
||||
|
206
Test/baseResults/BestMatchFunction.vert.out
Normal file
206
Test/baseResults/BestMatchFunction.vert.out
Normal file
@ -0,0 +1,206 @@
|
||||
BestMatchFunction.vert
|
||||
WARNING: 0:2: '#extension' : extension is only partially supported: GL_ARB_gpu_shader5
|
||||
|
||||
Shader version: 150
|
||||
Requested GL_ARB_gpu_shader5
|
||||
0:? Sequence
|
||||
0:7 Function Definition: f(vf4;vf4; ( global 4-component vector of float)
|
||||
0:7 Function Parameters:
|
||||
0:7 'a' ( in 4-component vector of float)
|
||||
0:7 'b' ( in 4-component vector of float)
|
||||
0:7 Sequence
|
||||
0:7 Branch: Return with expression
|
||||
0:7 component-wise multiply ( temp 4-component vector of float)
|
||||
0:7 'a' ( in 4-component vector of float)
|
||||
0:7 'b' ( in 4-component vector of float)
|
||||
0:8 Function Definition: f(vu4;vu4; ( global 4-component vector of float)
|
||||
0:8 Function Parameters:
|
||||
0:8 'a' ( in 4-component vector of uint)
|
||||
0:8 'b' ( in 4-component vector of uint)
|
||||
0:8 Sequence
|
||||
0:8 Branch: Return with expression
|
||||
0:8 Convert uint to float ( temp 4-component vector of float)
|
||||
0:8 subtract ( temp 4-component vector of uint)
|
||||
0:8 'a' ( in 4-component vector of uint)
|
||||
0:8 'b' ( in 4-component vector of uint)
|
||||
0:10 Function Definition: main( ( global void)
|
||||
0:10 Function Parameters:
|
||||
0:12 Sequence
|
||||
0:12 move second child to first child ( temp 4-component vector of float)
|
||||
0:12 'result' ( smooth out 4-component vector of float)
|
||||
0:12 Function Call: f(vu4;vu4; ( global 4-component vector of float)
|
||||
0:12 Convert int to uint ( temp 4-component vector of uint)
|
||||
0:12 'u1' ( uniform 4-component vector of int)
|
||||
0:12 'u2' ( uniform 4-component vector of uint)
|
||||
0:13 switch
|
||||
0:13 condition
|
||||
0:13 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:13 body
|
||||
0:13 Sequence
|
||||
0:15 case: with expression
|
||||
0:15 Constant:
|
||||
0:15 0 (const int)
|
||||
0:? Sequence
|
||||
0:15 move second child to first child ( temp 4-component vector of float)
|
||||
0:15 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:15 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:15 Constant:
|
||||
0:15 0 (const uint)
|
||||
0:15 Constant:
|
||||
0:15 -1.000000
|
||||
0:15 1.000000
|
||||
0:15 0.000000
|
||||
0:15 1.000000
|
||||
0:15 Branch: Break
|
||||
0:16 case: with expression
|
||||
0:16 Constant:
|
||||
0:16 1 (const int)
|
||||
0:? Sequence
|
||||
0:16 move second child to first child ( temp 4-component vector of float)
|
||||
0:16 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:16 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:16 Constant:
|
||||
0:16 0 (const uint)
|
||||
0:16 Constant:
|
||||
0:16 1.000000
|
||||
0:16 1.000000
|
||||
0:16 0.000000
|
||||
0:16 1.000000
|
||||
0:16 Branch: Break
|
||||
0:17 case: with expression
|
||||
0:17 Constant:
|
||||
0:17 2 (const int)
|
||||
0:? Sequence
|
||||
0:17 move second child to first child ( temp 4-component vector of float)
|
||||
0:17 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:17 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:17 Constant:
|
||||
0:17 0 (const uint)
|
||||
0:17 Constant:
|
||||
0:17 -1.000000
|
||||
0:17 -1.000000
|
||||
0:17 0.000000
|
||||
0:17 1.000000
|
||||
0:17 Branch: Break
|
||||
0:18 case: with expression
|
||||
0:18 Constant:
|
||||
0:18 3 (const int)
|
||||
0:? Sequence
|
||||
0:18 move second child to first child ( temp 4-component vector of float)
|
||||
0:18 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:18 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:18 Constant:
|
||||
0:18 0 (const uint)
|
||||
0:18 Constant:
|
||||
0:18 1.000000
|
||||
0:18 -1.000000
|
||||
0:18 0.000000
|
||||
0:18 1.000000
|
||||
0:18 Branch: Break
|
||||
0:? Linker Objects
|
||||
0:? 'u1' ( uniform 4-component vector of int)
|
||||
0:? 'u2' ( uniform 4-component vector of uint)
|
||||
0:? 'result' ( smooth out 4-component vector of float)
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
Shader version: 150
|
||||
Requested GL_ARB_gpu_shader5
|
||||
0:? Sequence
|
||||
0:8 Function Definition: f(vu4;vu4; ( global 4-component vector of float)
|
||||
0:8 Function Parameters:
|
||||
0:8 'a' ( in 4-component vector of uint)
|
||||
0:8 'b' ( in 4-component vector of uint)
|
||||
0:8 Sequence
|
||||
0:8 Branch: Return with expression
|
||||
0:8 Convert uint to float ( temp 4-component vector of float)
|
||||
0:8 subtract ( temp 4-component vector of uint)
|
||||
0:8 'a' ( in 4-component vector of uint)
|
||||
0:8 'b' ( in 4-component vector of uint)
|
||||
0:10 Function Definition: main( ( global void)
|
||||
0:10 Function Parameters:
|
||||
0:12 Sequence
|
||||
0:12 move second child to first child ( temp 4-component vector of float)
|
||||
0:12 'result' ( smooth out 4-component vector of float)
|
||||
0:12 Function Call: f(vu4;vu4; ( global 4-component vector of float)
|
||||
0:12 Convert int to uint ( temp 4-component vector of uint)
|
||||
0:12 'u1' ( uniform 4-component vector of int)
|
||||
0:12 'u2' ( uniform 4-component vector of uint)
|
||||
0:13 switch
|
||||
0:13 condition
|
||||
0:13 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:13 body
|
||||
0:13 Sequence
|
||||
0:15 case: with expression
|
||||
0:15 Constant:
|
||||
0:15 0 (const int)
|
||||
0:? Sequence
|
||||
0:15 move second child to first child ( temp 4-component vector of float)
|
||||
0:15 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:15 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:15 Constant:
|
||||
0:15 0 (const uint)
|
||||
0:15 Constant:
|
||||
0:15 -1.000000
|
||||
0:15 1.000000
|
||||
0:15 0.000000
|
||||
0:15 1.000000
|
||||
0:15 Branch: Break
|
||||
0:16 case: with expression
|
||||
0:16 Constant:
|
||||
0:16 1 (const int)
|
||||
0:? Sequence
|
||||
0:16 move second child to first child ( temp 4-component vector of float)
|
||||
0:16 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:16 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:16 Constant:
|
||||
0:16 0 (const uint)
|
||||
0:16 Constant:
|
||||
0:16 1.000000
|
||||
0:16 1.000000
|
||||
0:16 0.000000
|
||||
0:16 1.000000
|
||||
0:16 Branch: Break
|
||||
0:17 case: with expression
|
||||
0:17 Constant:
|
||||
0:17 2 (const int)
|
||||
0:? Sequence
|
||||
0:17 move second child to first child ( temp 4-component vector of float)
|
||||
0:17 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:17 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:17 Constant:
|
||||
0:17 0 (const uint)
|
||||
0:17 Constant:
|
||||
0:17 -1.000000
|
||||
0:17 -1.000000
|
||||
0:17 0.000000
|
||||
0:17 1.000000
|
||||
0:17 Branch: Break
|
||||
0:18 case: with expression
|
||||
0:18 Constant:
|
||||
0:18 3 (const int)
|
||||
0:? Sequence
|
||||
0:18 move second child to first child ( temp 4-component vector of float)
|
||||
0:18 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:18 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:18 Constant:
|
||||
0:18 0 (const uint)
|
||||
0:18 Constant:
|
||||
0:18 1.000000
|
||||
0:18 -1.000000
|
||||
0:18 0.000000
|
||||
0:18 1.000000
|
||||
0:18 Branch: Break
|
||||
0:? Linker Objects
|
||||
0:? 'u1' ( uniform 4-component vector of int)
|
||||
0:? 'u2' ( uniform 4-component vector of uint)
|
||||
0:? 'result' ( smooth out 4-component vector of float)
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
|
189
Test/baseResults/GL_ARB_draw_instanced.vert.out
Normal file
189
Test/baseResults/GL_ARB_draw_instanced.vert.out
Normal file
@ -0,0 +1,189 @@
|
||||
GL_ARB_draw_instanced.vert
|
||||
Shader version: 150
|
||||
Requested GL_ARB_draw_instanced
|
||||
0:? Sequence
|
||||
0:10 Function Definition: main( ( global void)
|
||||
0:10 Function Parameters:
|
||||
0:12 Sequence
|
||||
0:12 Sequence
|
||||
0:12 move second child to first child ( temp 4-component vector of float)
|
||||
0:12 'vertex' ( temp 4-component vector of float)
|
||||
0:12 add ( temp 4-component vector of float)
|
||||
0:12 Construct vec4 ( temp 4-component vector of float)
|
||||
0:12 divide ( temp 2-component vector of float)
|
||||
0:12 vector swizzle ( temp 2-component vector of float)
|
||||
0:12 direct index ( temp 4-component vector of float)
|
||||
0:12 'va' ( in 64-element array of 4-component vector of float)
|
||||
0:12 Constant:
|
||||
0:12 0 (const int)
|
||||
0:12 Sequence
|
||||
0:12 Constant:
|
||||
0:12 0 (const int)
|
||||
0:12 Constant:
|
||||
0:12 1 (const int)
|
||||
0:12 Constant:
|
||||
0:12 3.000000
|
||||
0:12 vector swizzle ( temp 2-component vector of float)
|
||||
0:12 direct index ( temp 4-component vector of float)
|
||||
0:12 'va' ( in 64-element array of 4-component vector of float)
|
||||
0:12 Constant:
|
||||
0:12 0 (const int)
|
||||
0:12 Sequence
|
||||
0:12 Constant:
|
||||
0:12 2 (const int)
|
||||
0:12 Constant:
|
||||
0:12 3 (const int)
|
||||
0:12 Construct vec4 ( temp 4-component vector of float)
|
||||
0:12 indirect index ( temp 3-component vector of float)
|
||||
0:12 'instanceOffsets' ( uniform 3-element array of 3-component vector of float)
|
||||
0:12 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
0:12 Constant:
|
||||
0:12 1.000000
|
||||
0:13 move second child to first child ( temp 4-component vector of float)
|
||||
0:13 'color' ( smooth out 4-component vector of float)
|
||||
0:13 Constant:
|
||||
0:13 0.000000
|
||||
0:13 0.000000
|
||||
0:13 0.000000
|
||||
0:13 0.000000
|
||||
0:14 Sequence
|
||||
0:14 Sequence
|
||||
0:14 move second child to first child ( temp int)
|
||||
0:14 'i' ( temp int)
|
||||
0:14 Constant:
|
||||
0:14 1 (const int)
|
||||
0:14 Loop with condition tested first
|
||||
0:14 Loop Condition
|
||||
0:14 Compare Less Than ( temp bool)
|
||||
0:14 'i' ( temp int)
|
||||
0:14 Constant:
|
||||
0:14 64 (const int)
|
||||
0:14 Loop Body
|
||||
0:15 add second child into first child ( temp 4-component vector of float)
|
||||
0:15 'color' ( smooth out 4-component vector of float)
|
||||
0:15 indirect index ( temp 4-component vector of float)
|
||||
0:15 'va' ( in 64-element array of 4-component vector of float)
|
||||
0:15 'i' ( temp int)
|
||||
0:14 Loop Terminal Expression
|
||||
0:14 Post-Increment ( temp int)
|
||||
0:14 'i' ( temp int)
|
||||
0:16 move second child to first child ( temp 4-component vector of float)
|
||||
0:16 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:16 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:16 Constant:
|
||||
0:16 0 (const uint)
|
||||
0:16 matrix-times-vector ( temp 4-component vector of float)
|
||||
0:16 'gtf_ModelViewProjectionMatrix' ( uniform 4X4 matrix of float)
|
||||
0:16 'vertex' ( temp 4-component vector of float)
|
||||
0:17 move second child to first child ( temp float)
|
||||
0:17 gl_PointSize: direct index for structure ( gl_PointSize float PointSize)
|
||||
0:17 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:17 Constant:
|
||||
0:17 1 (const uint)
|
||||
0:17 Constant:
|
||||
0:17 1.000000
|
||||
0:? Linker Objects
|
||||
0:? 'gtf_ModelViewProjectionMatrix' ( uniform 4X4 matrix of float)
|
||||
0:? 'instanceOffsets' ( uniform 3-element array of 3-component vector of float)
|
||||
0:? 'va' ( in 64-element array of 4-component vector of float)
|
||||
0:? 'color' ( smooth out 4-component vector of float)
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
Shader version: 150
|
||||
Requested GL_ARB_draw_instanced
|
||||
0:? Sequence
|
||||
0:10 Function Definition: main( ( global void)
|
||||
0:10 Function Parameters:
|
||||
0:12 Sequence
|
||||
0:12 Sequence
|
||||
0:12 move second child to first child ( temp 4-component vector of float)
|
||||
0:12 'vertex' ( temp 4-component vector of float)
|
||||
0:12 add ( temp 4-component vector of float)
|
||||
0:12 Construct vec4 ( temp 4-component vector of float)
|
||||
0:12 divide ( temp 2-component vector of float)
|
||||
0:12 vector swizzle ( temp 2-component vector of float)
|
||||
0:12 direct index ( temp 4-component vector of float)
|
||||
0:12 'va' ( in 64-element array of 4-component vector of float)
|
||||
0:12 Constant:
|
||||
0:12 0 (const int)
|
||||
0:12 Sequence
|
||||
0:12 Constant:
|
||||
0:12 0 (const int)
|
||||
0:12 Constant:
|
||||
0:12 1 (const int)
|
||||
0:12 Constant:
|
||||
0:12 3.000000
|
||||
0:12 vector swizzle ( temp 2-component vector of float)
|
||||
0:12 direct index ( temp 4-component vector of float)
|
||||
0:12 'va' ( in 64-element array of 4-component vector of float)
|
||||
0:12 Constant:
|
||||
0:12 0 (const int)
|
||||
0:12 Sequence
|
||||
0:12 Constant:
|
||||
0:12 2 (const int)
|
||||
0:12 Constant:
|
||||
0:12 3 (const int)
|
||||
0:12 Construct vec4 ( temp 4-component vector of float)
|
||||
0:12 indirect index ( temp 3-component vector of float)
|
||||
0:12 'instanceOffsets' ( uniform 3-element array of 3-component vector of float)
|
||||
0:12 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
0:12 Constant:
|
||||
0:12 1.000000
|
||||
0:13 move second child to first child ( temp 4-component vector of float)
|
||||
0:13 'color' ( smooth out 4-component vector of float)
|
||||
0:13 Constant:
|
||||
0:13 0.000000
|
||||
0:13 0.000000
|
||||
0:13 0.000000
|
||||
0:13 0.000000
|
||||
0:14 Sequence
|
||||
0:14 Sequence
|
||||
0:14 move second child to first child ( temp int)
|
||||
0:14 'i' ( temp int)
|
||||
0:14 Constant:
|
||||
0:14 1 (const int)
|
||||
0:14 Loop with condition tested first
|
||||
0:14 Loop Condition
|
||||
0:14 Compare Less Than ( temp bool)
|
||||
0:14 'i' ( temp int)
|
||||
0:14 Constant:
|
||||
0:14 64 (const int)
|
||||
0:14 Loop Body
|
||||
0:15 add second child into first child ( temp 4-component vector of float)
|
||||
0:15 'color' ( smooth out 4-component vector of float)
|
||||
0:15 indirect index ( temp 4-component vector of float)
|
||||
0:15 'va' ( in 64-element array of 4-component vector of float)
|
||||
0:15 'i' ( temp int)
|
||||
0:14 Loop Terminal Expression
|
||||
0:14 Post-Increment ( temp int)
|
||||
0:14 'i' ( temp int)
|
||||
0:16 move second child to first child ( temp 4-component vector of float)
|
||||
0:16 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:16 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:16 Constant:
|
||||
0:16 0 (const uint)
|
||||
0:16 matrix-times-vector ( temp 4-component vector of float)
|
||||
0:16 'gtf_ModelViewProjectionMatrix' ( uniform 4X4 matrix of float)
|
||||
0:16 'vertex' ( temp 4-component vector of float)
|
||||
0:17 move second child to first child ( temp float)
|
||||
0:17 gl_PointSize: direct index for structure ( gl_PointSize float PointSize)
|
||||
0:17 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:17 Constant:
|
||||
0:17 1 (const uint)
|
||||
0:17 Constant:
|
||||
0:17 1.000000
|
||||
0:? Linker Objects
|
||||
0:? 'gtf_ModelViewProjectionMatrix' ( uniform 4X4 matrix of float)
|
||||
0:? 'instanceOffsets' ( uniform 3-element array of 3-component vector of float)
|
||||
0:? 'va' ( in 64-element array of 4-component vector of float)
|
||||
0:? 'color' ( smooth out 4-component vector of float)
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
|
47
Test/baseResults/GL_EXT_shader_integer_mix.vert.out
Normal file
47
Test/baseResults/GL_EXT_shader_integer_mix.vert.out
Normal file
@ -0,0 +1,47 @@
|
||||
GL_EXT_shader_integer_mix.vert
|
||||
Shader version: 330
|
||||
Requested GL_EXT_shader_integer_mix
|
||||
0:? Sequence
|
||||
0:11 Function Definition: main( ( global void)
|
||||
0:11 Function Parameters:
|
||||
0:12 Sequence
|
||||
0:12 move second child to first child ( temp 4-component vector of float)
|
||||
0:12 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:12 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 Constant:
|
||||
0:12 0.000000
|
||||
0:12 0.000000
|
||||
0:12 0.000000
|
||||
0:12 0.000000
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
Shader version: 330
|
||||
Requested GL_EXT_shader_integer_mix
|
||||
0:? Sequence
|
||||
0:11 Function Definition: main( ( global void)
|
||||
0:11 Function Parameters:
|
||||
0:12 Sequence
|
||||
0:12 move second child to first child ( temp 4-component vector of float)
|
||||
0:12 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:12 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 Constant:
|
||||
0:12 0.000000
|
||||
0:12 0.000000
|
||||
0:12 0.000000
|
||||
0:12 0.000000
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
|
201
Test/baseResults/atomicCounterARBOps.vert.out
Normal file
201
Test/baseResults/atomicCounterARBOps.vert.out
Normal file
@ -0,0 +1,201 @@
|
||||
atomicCounterARBOps.vert
|
||||
Shader version: 450
|
||||
Requested GL_ARB_shader_atomic_counter_ops
|
||||
Requested GL_ARB_shader_atomic_counters
|
||||
0:? Sequence
|
||||
0:9 Function Definition: main( ( global void)
|
||||
0:9 Function Parameters:
|
||||
0:10 Sequence
|
||||
0:10 Sequence
|
||||
0:10 move second child to first child ( temp 4-component vector of float)
|
||||
0:10 'outColor' ( temp 4-component vector of float)
|
||||
0:10 Constant:
|
||||
0:10 1.000000
|
||||
0:10 1.000000
|
||||
0:10 1.000000
|
||||
0:10 1.000000
|
||||
0:13 move second child to first child ( temp uint)
|
||||
0:13 'ret' ( temp uint)
|
||||
0:13 AtomicCounterAdd ( global uint)
|
||||
0:13 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
|
||||
0:13 Constant:
|
||||
0:13 4 (const uint)
|
||||
0:14 move second child to first child ( temp uint)
|
||||
0:14 'ret' ( temp uint)
|
||||
0:14 AtomicCounterSubtract ( global uint)
|
||||
0:14 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
|
||||
0:14 Constant:
|
||||
0:14 4 (const uint)
|
||||
0:15 move second child to first child ( temp uint)
|
||||
0:15 'ret' ( temp uint)
|
||||
0:15 AtomicCounterMin ( global uint)
|
||||
0:15 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
|
||||
0:15 Constant:
|
||||
0:15 4 (const uint)
|
||||
0:16 move second child to first child ( temp uint)
|
||||
0:16 'ret' ( temp uint)
|
||||
0:16 AtomicCounterMax ( global uint)
|
||||
0:16 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
|
||||
0:16 Constant:
|
||||
0:16 4 (const uint)
|
||||
0:17 move second child to first child ( temp uint)
|
||||
0:17 'ret' ( temp uint)
|
||||
0:17 AtomicCounterAnd ( global uint)
|
||||
0:17 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
|
||||
0:17 Constant:
|
||||
0:17 4 (const uint)
|
||||
0:18 move second child to first child ( temp uint)
|
||||
0:18 'ret' ( temp uint)
|
||||
0:18 AtomicCounterOr ( global uint)
|
||||
0:18 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
|
||||
0:18 Constant:
|
||||
0:18 4 (const uint)
|
||||
0:19 move second child to first child ( temp uint)
|
||||
0:19 'ret' ( temp uint)
|
||||
0:19 AtomicCounterXor ( global uint)
|
||||
0:19 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
|
||||
0:19 Constant:
|
||||
0:19 4 (const uint)
|
||||
0:20 move second child to first child ( temp uint)
|
||||
0:20 'ret' ( temp uint)
|
||||
0:20 AtomicCounterExchange ( global uint)
|
||||
0:20 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
|
||||
0:20 Constant:
|
||||
0:20 4 (const uint)
|
||||
0:21 move second child to first child ( temp uint)
|
||||
0:21 'ret' ( temp uint)
|
||||
0:21 AtomicCounterCompSwap ( global uint)
|
||||
0:21 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
|
||||
0:21 Constant:
|
||||
0:21 4 (const uint)
|
||||
0:21 Constant:
|
||||
0:21 4 (const uint)
|
||||
0:23 Sequence
|
||||
0:23 move second child to first child ( temp uint)
|
||||
0:23 'after' ( temp uint)
|
||||
0:23 AtomicCounter ( global uint)
|
||||
0:23 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
|
||||
0:24 Test condition and select ( temp void)
|
||||
0:24 Condition
|
||||
0:24 Compare Equal ( temp bool)
|
||||
0:24 'after' ( temp uint)
|
||||
0:24 'ret' ( temp uint)
|
||||
0:24 true case
|
||||
0:25 move second child to first child ( temp 4-component vector of float)
|
||||
0:25 'outColor' ( temp 4-component vector of float)
|
||||
0:25 Constant:
|
||||
0:25 0.000000
|
||||
0:25 0.000000
|
||||
0:25 0.000000
|
||||
0:25 0.000000
|
||||
0:27 move second child to first child ( temp 4-component vector of float)
|
||||
0:27 'vsColor' ( smooth out 4-component vector of float)
|
||||
0:27 'outColor' ( temp 4-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
|
||||
0:? 'vsColor' ( smooth out 4-component vector of float)
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
Shader version: 450
|
||||
Requested GL_ARB_shader_atomic_counter_ops
|
||||
Requested GL_ARB_shader_atomic_counters
|
||||
0:? Sequence
|
||||
0:9 Function Definition: main( ( global void)
|
||||
0:9 Function Parameters:
|
||||
0:10 Sequence
|
||||
0:10 Sequence
|
||||
0:10 move second child to first child ( temp 4-component vector of float)
|
||||
0:10 'outColor' ( temp 4-component vector of float)
|
||||
0:10 Constant:
|
||||
0:10 1.000000
|
||||
0:10 1.000000
|
||||
0:10 1.000000
|
||||
0:10 1.000000
|
||||
0:13 move second child to first child ( temp uint)
|
||||
0:13 'ret' ( temp uint)
|
||||
0:13 AtomicCounterAdd ( global uint)
|
||||
0:13 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
|
||||
0:13 Constant:
|
||||
0:13 4 (const uint)
|
||||
0:14 move second child to first child ( temp uint)
|
||||
0:14 'ret' ( temp uint)
|
||||
0:14 AtomicCounterSubtract ( global uint)
|
||||
0:14 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
|
||||
0:14 Constant:
|
||||
0:14 4 (const uint)
|
||||
0:15 move second child to first child ( temp uint)
|
||||
0:15 'ret' ( temp uint)
|
||||
0:15 AtomicCounterMin ( global uint)
|
||||
0:15 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
|
||||
0:15 Constant:
|
||||
0:15 4 (const uint)
|
||||
0:16 move second child to first child ( temp uint)
|
||||
0:16 'ret' ( temp uint)
|
||||
0:16 AtomicCounterMax ( global uint)
|
||||
0:16 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
|
||||
0:16 Constant:
|
||||
0:16 4 (const uint)
|
||||
0:17 move second child to first child ( temp uint)
|
||||
0:17 'ret' ( temp uint)
|
||||
0:17 AtomicCounterAnd ( global uint)
|
||||
0:17 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
|
||||
0:17 Constant:
|
||||
0:17 4 (const uint)
|
||||
0:18 move second child to first child ( temp uint)
|
||||
0:18 'ret' ( temp uint)
|
||||
0:18 AtomicCounterOr ( global uint)
|
||||
0:18 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
|
||||
0:18 Constant:
|
||||
0:18 4 (const uint)
|
||||
0:19 move second child to first child ( temp uint)
|
||||
0:19 'ret' ( temp uint)
|
||||
0:19 AtomicCounterXor ( global uint)
|
||||
0:19 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
|
||||
0:19 Constant:
|
||||
0:19 4 (const uint)
|
||||
0:20 move second child to first child ( temp uint)
|
||||
0:20 'ret' ( temp uint)
|
||||
0:20 AtomicCounterExchange ( global uint)
|
||||
0:20 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
|
||||
0:20 Constant:
|
||||
0:20 4 (const uint)
|
||||
0:21 move second child to first child ( temp uint)
|
||||
0:21 'ret' ( temp uint)
|
||||
0:21 AtomicCounterCompSwap ( global uint)
|
||||
0:21 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
|
||||
0:21 Constant:
|
||||
0:21 4 (const uint)
|
||||
0:21 Constant:
|
||||
0:21 4 (const uint)
|
||||
0:23 Sequence
|
||||
0:23 move second child to first child ( temp uint)
|
||||
0:23 'after' ( temp uint)
|
||||
0:23 AtomicCounter ( global uint)
|
||||
0:23 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
|
||||
0:24 Test condition and select ( temp void)
|
||||
0:24 Condition
|
||||
0:24 Compare Equal ( temp bool)
|
||||
0:24 'after' ( temp uint)
|
||||
0:24 'ret' ( temp uint)
|
||||
0:24 true case
|
||||
0:25 move second child to first child ( temp 4-component vector of float)
|
||||
0:25 'outColor' ( temp 4-component vector of float)
|
||||
0:25 Constant:
|
||||
0:25 0.000000
|
||||
0:25 0.000000
|
||||
0:25 0.000000
|
||||
0:25 0.000000
|
||||
0:27 move second child to first child ( temp 4-component vector of float)
|
||||
0:27 'vsColor' ( smooth out 4-component vector of float)
|
||||
0:27 'outColor' ( temp 4-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
|
||||
0:? 'vsColor' ( smooth out 4-component vector of float)
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
|
@ -3,8 +3,8 @@ Shader version: 450
|
||||
Requested GL_EXT_shader_explicit_arithmetic_types
|
||||
local_size = (1, 1, 1)
|
||||
0:? Sequence
|
||||
0:48 Function Definition: main( ( global void)
|
||||
0:48 Function Parameters:
|
||||
0:69 Function Definition: main( ( global void)
|
||||
0:69 Function Parameters:
|
||||
0:? Linker Objects
|
||||
0:? 'bool_init' ( const bool)
|
||||
0:? true (const bool)
|
||||
@ -29,6 +29,12 @@ local_size = (1, 1, 1)
|
||||
0:? 'float32_t_init' ( const float)
|
||||
0:? 13.000000
|
||||
0:? 'float64_t_init' ( const double)
|
||||
0:? 4.000000
|
||||
0:? 'neg_float16_t_init' ( const float16_t)
|
||||
0:? -42.000000
|
||||
0:? 'neg_float32_t_init' ( const float)
|
||||
0:? -13.000000
|
||||
0:? 'neg_float64_t_init' ( const double)
|
||||
0:? -4.000000
|
||||
0:? 'bool_to_bool' ( const bool)
|
||||
0:? true (const bool)
|
||||
@ -77,7 +83,7 @@ local_size = (1, 1, 1)
|
||||
0:? 'float32_t_to_int8_t' ( const int8_t)
|
||||
0:? 13 (const int8_t)
|
||||
0:? 'float64_t_to_int8_t' ( const int8_t)
|
||||
0:? -4 (const int8_t)
|
||||
0:? 4 (const int8_t)
|
||||
0:? 'bool_to_int16_t' ( const int16_t)
|
||||
0:? 1 (const int16_t)
|
||||
0:? 'int8_t_to_int16_t' ( const int16_t)
|
||||
@ -101,7 +107,7 @@ local_size = (1, 1, 1)
|
||||
0:? 'float32_t_to_int16_t' ( const int16_t)
|
||||
0:? 13 (const int16_t)
|
||||
0:? 'float64_t_to_int16_t' ( const int16_t)
|
||||
0:? -4 (const int16_t)
|
||||
0:? 4 (const int16_t)
|
||||
0:? 'bool_to_int32_t' ( const int)
|
||||
0:? 1 (const int)
|
||||
0:? 'int8_t_to_int32_t' ( const int)
|
||||
@ -125,7 +131,7 @@ local_size = (1, 1, 1)
|
||||
0:? 'float32_t_to_int32_t' ( const int)
|
||||
0:? 13 (const int)
|
||||
0:? 'float64_t_to_int32_t' ( const int)
|
||||
0:? -4 (const int)
|
||||
0:? 4 (const int)
|
||||
0:? 'bool_to_int64_t' ( const int64_t)
|
||||
0:? 1 (const int64_t)
|
||||
0:? 'int8_t_to_int64_t' ( const int64_t)
|
||||
@ -149,7 +155,7 @@ local_size = (1, 1, 1)
|
||||
0:? 'float32_t_to_int64_t' ( const int64_t)
|
||||
0:? 13 (const int64_t)
|
||||
0:? 'float64_t_to_int64_t' ( const int64_t)
|
||||
0:? -4 (const int64_t)
|
||||
0:? 4 (const int64_t)
|
||||
0:? 'bool_to_uint8_t' ( const uint8_t)
|
||||
0:? 1 (const uint8_t)
|
||||
0:? 'int8_t_to_uint8_t' ( const uint8_t)
|
||||
@ -173,7 +179,7 @@ local_size = (1, 1, 1)
|
||||
0:? 'float32_t_to_uint8_t' ( const uint8_t)
|
||||
0:? 13 (const uint8_t)
|
||||
0:? 'float64_t_to_uint8_t' ( const uint8_t)
|
||||
0:? 252 (const uint8_t)
|
||||
0:? 4 (const uint8_t)
|
||||
0:? 'bool_to_uint16_t' ( const uint16_t)
|
||||
0:? 1 (const uint16_t)
|
||||
0:? 'int8_t_to_uint16_t' ( const uint16_t)
|
||||
@ -197,7 +203,7 @@ local_size = (1, 1, 1)
|
||||
0:? 'float32_t_to_uint16_t' ( const uint16_t)
|
||||
0:? 13 (const uint16_t)
|
||||
0:? 'float64_t_to_uint16_t' ( const uint16_t)
|
||||
0:? 65532 (const uint16_t)
|
||||
0:? 4 (const uint16_t)
|
||||
0:? 'bool_to_uint32_t' ( const uint)
|
||||
0:? 1 (const uint)
|
||||
0:? 'int8_t_to_uint32_t' ( const uint)
|
||||
@ -221,7 +227,7 @@ local_size = (1, 1, 1)
|
||||
0:? 'float32_t_to_uint32_t' ( const uint)
|
||||
0:? 13 (const uint)
|
||||
0:? 'float64_t_to_uint32_t' ( const uint)
|
||||
0:? 4294967292 (const uint)
|
||||
0:? 4 (const uint)
|
||||
0:? 'bool_to_uint64_t' ( const uint64_t)
|
||||
0:? 1 (const uint64_t)
|
||||
0:? 'int8_t_to_uint64_t' ( const uint64_t)
|
||||
@ -245,7 +251,7 @@ local_size = (1, 1, 1)
|
||||
0:? 'float32_t_to_uint64_t' ( const uint64_t)
|
||||
0:? 13 (const uint64_t)
|
||||
0:? 'float64_t_to_uint64_t' ( const uint64_t)
|
||||
0:? 18446744073709551612 (const uint64_t)
|
||||
0:? 4 (const uint64_t)
|
||||
0:? 'bool_to_float16_t' ( const float16_t)
|
||||
0:? 1.000000
|
||||
0:? 'int8_t_to_float16_t' ( const float16_t)
|
||||
@ -269,7 +275,7 @@ local_size = (1, 1, 1)
|
||||
0:? 'float32_t_to_float16_t' ( const float16_t)
|
||||
0:? 13.000000
|
||||
0:? 'float64_t_to_float16_t' ( const float16_t)
|
||||
0:? -4.000000
|
||||
0:? 4.000000
|
||||
0:? 'bool_to_float32_t' ( const float)
|
||||
0:? 1.000000
|
||||
0:? 'int8_t_to_float32_t' ( const float)
|
||||
@ -293,7 +299,7 @@ local_size = (1, 1, 1)
|
||||
0:? 'float32_t_to_float32_t' ( const float)
|
||||
0:? 13.000000
|
||||
0:? 'float64_t_to_float32_t' ( const float)
|
||||
0:? -4.000000
|
||||
0:? 4.000000
|
||||
0:? 'bool_to_float64_t' ( const double)
|
||||
0:? 1.000000
|
||||
0:? 'int8_t_to_float64_t' ( const double)
|
||||
@ -317,6 +323,54 @@ local_size = (1, 1, 1)
|
||||
0:? 'float32_t_to_float64_t' ( const double)
|
||||
0:? 13.000000
|
||||
0:? 'float64_t_to_float64_t' ( const double)
|
||||
0:? 4.000000
|
||||
0:? 'neg_float16_t_to_bool' ( const bool)
|
||||
0:? true (const bool)
|
||||
0:? 'neg_float32_t_to_bool' ( const bool)
|
||||
0:? true (const bool)
|
||||
0:? 'neg_float64_t_to_bool' ( const bool)
|
||||
0:? true (const bool)
|
||||
0:? 'neg_float16_t_to_int8_t' ( const int8_t)
|
||||
0:? -42 (const int8_t)
|
||||
0:? 'neg_float32_t_to_int8_t' ( const int8_t)
|
||||
0:? -13 (const int8_t)
|
||||
0:? 'neg_float64_t_to_int8_t' ( const int8_t)
|
||||
0:? -4 (const int8_t)
|
||||
0:? 'neg_float16_t_to_int16_t' ( const int16_t)
|
||||
0:? -42 (const int16_t)
|
||||
0:? 'neg_float32_t_to_int16_t' ( const int16_t)
|
||||
0:? -13 (const int16_t)
|
||||
0:? 'neg_float64_t_to_int16_t' ( const int16_t)
|
||||
0:? -4 (const int16_t)
|
||||
0:? 'neg_float16_t_to_int32_t' ( const int)
|
||||
0:? -42 (const int)
|
||||
0:? 'neg_float32_t_to_int32_t' ( const int)
|
||||
0:? -13 (const int)
|
||||
0:? 'neg_float64_t_to_int32_t' ( const int)
|
||||
0:? -4 (const int)
|
||||
0:? 'neg_float16_t_to_int64_t' ( const int64_t)
|
||||
0:? -42 (const int64_t)
|
||||
0:? 'neg_float32_t_to_int64_t' ( const int64_t)
|
||||
0:? -13 (const int64_t)
|
||||
0:? 'neg_float64_t_to_int64_t' ( const int64_t)
|
||||
0:? -4 (const int64_t)
|
||||
0:? 'neg_float16_t_to_float16_t' ( const float16_t)
|
||||
0:? -42.000000
|
||||
0:? 'neg_float32_t_to_float16_t' ( const float16_t)
|
||||
0:? -13.000000
|
||||
0:? 'neg_float64_t_to_float16_t' ( const float16_t)
|
||||
0:? -4.000000
|
||||
0:? 'neg_float16_t_to_float32_t' ( const float)
|
||||
0:? -42.000000
|
||||
0:? 'neg_float32_t_to_float32_t' ( const float)
|
||||
0:? -13.000000
|
||||
0:? 'neg_float64_t_to_float32_t' ( const float)
|
||||
0:? -4.000000
|
||||
0:? 'neg_float16_t_to_float64_t' ( const double)
|
||||
0:? -42.000000
|
||||
0:? 'neg_float32_t_to_float64_t' ( const double)
|
||||
0:? -13.000000
|
||||
0:? 'neg_float64_t_to_float64_t' ( const double)
|
||||
0:? -4.000000
|
||||
|
||||
|
||||
@ -327,8 +381,8 @@ Shader version: 450
|
||||
Requested GL_EXT_shader_explicit_arithmetic_types
|
||||
local_size = (1, 1, 1)
|
||||
0:? Sequence
|
||||
0:48 Function Definition: main( ( global void)
|
||||
0:48 Function Parameters:
|
||||
0:69 Function Definition: main( ( global void)
|
||||
0:69 Function Parameters:
|
||||
0:? Linker Objects
|
||||
0:? 'bool_init' ( const bool)
|
||||
0:? true (const bool)
|
||||
@ -353,6 +407,12 @@ local_size = (1, 1, 1)
|
||||
0:? 'float32_t_init' ( const float)
|
||||
0:? 13.000000
|
||||
0:? 'float64_t_init' ( const double)
|
||||
0:? 4.000000
|
||||
0:? 'neg_float16_t_init' ( const float16_t)
|
||||
0:? -42.000000
|
||||
0:? 'neg_float32_t_init' ( const float)
|
||||
0:? -13.000000
|
||||
0:? 'neg_float64_t_init' ( const double)
|
||||
0:? -4.000000
|
||||
0:? 'bool_to_bool' ( const bool)
|
||||
0:? true (const bool)
|
||||
@ -401,7 +461,7 @@ local_size = (1, 1, 1)
|
||||
0:? 'float32_t_to_int8_t' ( const int8_t)
|
||||
0:? 13 (const int8_t)
|
||||
0:? 'float64_t_to_int8_t' ( const int8_t)
|
||||
0:? -4 (const int8_t)
|
||||
0:? 4 (const int8_t)
|
||||
0:? 'bool_to_int16_t' ( const int16_t)
|
||||
0:? 1 (const int16_t)
|
||||
0:? 'int8_t_to_int16_t' ( const int16_t)
|
||||
@ -425,7 +485,7 @@ local_size = (1, 1, 1)
|
||||
0:? 'float32_t_to_int16_t' ( const int16_t)
|
||||
0:? 13 (const int16_t)
|
||||
0:? 'float64_t_to_int16_t' ( const int16_t)
|
||||
0:? -4 (const int16_t)
|
||||
0:? 4 (const int16_t)
|
||||
0:? 'bool_to_int32_t' ( const int)
|
||||
0:? 1 (const int)
|
||||
0:? 'int8_t_to_int32_t' ( const int)
|
||||
@ -449,7 +509,7 @@ local_size = (1, 1, 1)
|
||||
0:? 'float32_t_to_int32_t' ( const int)
|
||||
0:? 13 (const int)
|
||||
0:? 'float64_t_to_int32_t' ( const int)
|
||||
0:? -4 (const int)
|
||||
0:? 4 (const int)
|
||||
0:? 'bool_to_int64_t' ( const int64_t)
|
||||
0:? 1 (const int64_t)
|
||||
0:? 'int8_t_to_int64_t' ( const int64_t)
|
||||
@ -473,7 +533,7 @@ local_size = (1, 1, 1)
|
||||
0:? 'float32_t_to_int64_t' ( const int64_t)
|
||||
0:? 13 (const int64_t)
|
||||
0:? 'float64_t_to_int64_t' ( const int64_t)
|
||||
0:? -4 (const int64_t)
|
||||
0:? 4 (const int64_t)
|
||||
0:? 'bool_to_uint8_t' ( const uint8_t)
|
||||
0:? 1 (const uint8_t)
|
||||
0:? 'int8_t_to_uint8_t' ( const uint8_t)
|
||||
@ -497,7 +557,7 @@ local_size = (1, 1, 1)
|
||||
0:? 'float32_t_to_uint8_t' ( const uint8_t)
|
||||
0:? 13 (const uint8_t)
|
||||
0:? 'float64_t_to_uint8_t' ( const uint8_t)
|
||||
0:? 252 (const uint8_t)
|
||||
0:? 4 (const uint8_t)
|
||||
0:? 'bool_to_uint16_t' ( const uint16_t)
|
||||
0:? 1 (const uint16_t)
|
||||
0:? 'int8_t_to_uint16_t' ( const uint16_t)
|
||||
@ -521,7 +581,7 @@ local_size = (1, 1, 1)
|
||||
0:? 'float32_t_to_uint16_t' ( const uint16_t)
|
||||
0:? 13 (const uint16_t)
|
||||
0:? 'float64_t_to_uint16_t' ( const uint16_t)
|
||||
0:? 65532 (const uint16_t)
|
||||
0:? 4 (const uint16_t)
|
||||
0:? 'bool_to_uint32_t' ( const uint)
|
||||
0:? 1 (const uint)
|
||||
0:? 'int8_t_to_uint32_t' ( const uint)
|
||||
@ -545,7 +605,7 @@ local_size = (1, 1, 1)
|
||||
0:? 'float32_t_to_uint32_t' ( const uint)
|
||||
0:? 13 (const uint)
|
||||
0:? 'float64_t_to_uint32_t' ( const uint)
|
||||
0:? 4294967292 (const uint)
|
||||
0:? 4 (const uint)
|
||||
0:? 'bool_to_uint64_t' ( const uint64_t)
|
||||
0:? 1 (const uint64_t)
|
||||
0:? 'int8_t_to_uint64_t' ( const uint64_t)
|
||||
@ -569,7 +629,7 @@ local_size = (1, 1, 1)
|
||||
0:? 'float32_t_to_uint64_t' ( const uint64_t)
|
||||
0:? 13 (const uint64_t)
|
||||
0:? 'float64_t_to_uint64_t' ( const uint64_t)
|
||||
0:? 18446744073709551612 (const uint64_t)
|
||||
0:? 4 (const uint64_t)
|
||||
0:? 'bool_to_float16_t' ( const float16_t)
|
||||
0:? 1.000000
|
||||
0:? 'int8_t_to_float16_t' ( const float16_t)
|
||||
@ -593,7 +653,7 @@ local_size = (1, 1, 1)
|
||||
0:? 'float32_t_to_float16_t' ( const float16_t)
|
||||
0:? 13.000000
|
||||
0:? 'float64_t_to_float16_t' ( const float16_t)
|
||||
0:? -4.000000
|
||||
0:? 4.000000
|
||||
0:? 'bool_to_float32_t' ( const float)
|
||||
0:? 1.000000
|
||||
0:? 'int8_t_to_float32_t' ( const float)
|
||||
@ -617,7 +677,7 @@ local_size = (1, 1, 1)
|
||||
0:? 'float32_t_to_float32_t' ( const float)
|
||||
0:? 13.000000
|
||||
0:? 'float64_t_to_float32_t' ( const float)
|
||||
0:? -4.000000
|
||||
0:? 4.000000
|
||||
0:? 'bool_to_float64_t' ( const double)
|
||||
0:? 1.000000
|
||||
0:? 'int8_t_to_float64_t' ( const double)
|
||||
@ -641,5 +701,53 @@ local_size = (1, 1, 1)
|
||||
0:? 'float32_t_to_float64_t' ( const double)
|
||||
0:? 13.000000
|
||||
0:? 'float64_t_to_float64_t' ( const double)
|
||||
0:? 4.000000
|
||||
0:? 'neg_float16_t_to_bool' ( const bool)
|
||||
0:? true (const bool)
|
||||
0:? 'neg_float32_t_to_bool' ( const bool)
|
||||
0:? true (const bool)
|
||||
0:? 'neg_float64_t_to_bool' ( const bool)
|
||||
0:? true (const bool)
|
||||
0:? 'neg_float16_t_to_int8_t' ( const int8_t)
|
||||
0:? -42 (const int8_t)
|
||||
0:? 'neg_float32_t_to_int8_t' ( const int8_t)
|
||||
0:? -13 (const int8_t)
|
||||
0:? 'neg_float64_t_to_int8_t' ( const int8_t)
|
||||
0:? -4 (const int8_t)
|
||||
0:? 'neg_float16_t_to_int16_t' ( const int16_t)
|
||||
0:? -42 (const int16_t)
|
||||
0:? 'neg_float32_t_to_int16_t' ( const int16_t)
|
||||
0:? -13 (const int16_t)
|
||||
0:? 'neg_float64_t_to_int16_t' ( const int16_t)
|
||||
0:? -4 (const int16_t)
|
||||
0:? 'neg_float16_t_to_int32_t' ( const int)
|
||||
0:? -42 (const int)
|
||||
0:? 'neg_float32_t_to_int32_t' ( const int)
|
||||
0:? -13 (const int)
|
||||
0:? 'neg_float64_t_to_int32_t' ( const int)
|
||||
0:? -4 (const int)
|
||||
0:? 'neg_float16_t_to_int64_t' ( const int64_t)
|
||||
0:? -42 (const int64_t)
|
||||
0:? 'neg_float32_t_to_int64_t' ( const int64_t)
|
||||
0:? -13 (const int64_t)
|
||||
0:? 'neg_float64_t_to_int64_t' ( const int64_t)
|
||||
0:? -4 (const int64_t)
|
||||
0:? 'neg_float16_t_to_float16_t' ( const float16_t)
|
||||
0:? -42.000000
|
||||
0:? 'neg_float32_t_to_float16_t' ( const float16_t)
|
||||
0:? -13.000000
|
||||
0:? 'neg_float64_t_to_float16_t' ( const float16_t)
|
||||
0:? -4.000000
|
||||
0:? 'neg_float16_t_to_float32_t' ( const float)
|
||||
0:? -42.000000
|
||||
0:? 'neg_float32_t_to_float32_t' ( const float)
|
||||
0:? -13.000000
|
||||
0:? 'neg_float64_t_to_float32_t' ( const float)
|
||||
0:? -4.000000
|
||||
0:? 'neg_float16_t_to_float64_t' ( const double)
|
||||
0:? -42.000000
|
||||
0:? 'neg_float32_t_to_float64_t' ( const double)
|
||||
0:? -13.000000
|
||||
0:? 'neg_float64_t_to_float64_t' ( const double)
|
||||
0:? -4.000000
|
||||
|
||||
|
@ -16,7 +16,7 @@ output primitive = points
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 'gl_PrimitiveIDIn' ( in highp int PrimitiveID)
|
||||
0:12 Construct uvec4 ( temp highp 4-component vector of uint)
|
||||
0:12 Construct uvec4 ( temp mediump 4-component vector of uint)
|
||||
0:12 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
|
||||
0:12 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
|
||||
0:12 Constant:
|
||||
@ -47,7 +47,7 @@ output primitive = points
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 'gl_PrimitiveIDIn' ( in highp int PrimitiveID)
|
||||
0:12 Construct uvec4 ( temp highp 4-component vector of uint)
|
||||
0:12 Construct uvec4 ( temp mediump 4-component vector of uint)
|
||||
0:12 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
|
||||
0:12 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
|
||||
0:12 Constant:
|
||||
|
@ -13,7 +13,7 @@ vertices = 1
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 'gl_PrimitiveID' ( in highp int PrimitiveID)
|
||||
0:11 Construct uvec4 ( temp highp 4-component vector of uint)
|
||||
0:11 Construct uvec4 ( temp mediump 4-component vector of uint)
|
||||
0:11 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
|
||||
0:11 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
|
||||
0:11 Constant:
|
||||
@ -41,7 +41,7 @@ vertices = 1
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 'gl_PrimitiveID' ( in highp int PrimitiveID)
|
||||
0:11 Construct uvec4 ( temp highp 4-component vector of uint)
|
||||
0:11 Construct uvec4 ( temp mediump 4-component vector of uint)
|
||||
0:11 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
|
||||
0:11 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
|
||||
0:11 Constant:
|
||||
|
@ -15,7 +15,7 @@ triangle order = none
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 'gl_PrimitiveID' ( in highp int PrimitiveID)
|
||||
0:11 Construct uvec4 ( temp highp 4-component vector of uint)
|
||||
0:11 Construct uvec4 ( temp mediump 4-component vector of uint)
|
||||
0:11 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
|
||||
0:11 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
|
||||
0:11 Constant:
|
||||
@ -45,7 +45,7 @@ triangle order = ccw
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 'gl_PrimitiveID' ( in highp int PrimitiveID)
|
||||
0:11 Construct uvec4 ( temp highp 4-component vector of uint)
|
||||
0:11 Construct uvec4 ( temp mediump 4-component vector of uint)
|
||||
0:11 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
|
||||
0:11 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
|
||||
0:11 Constant:
|
||||
|
@ -12,7 +12,7 @@ Requested GL_KHR_shader_subgroup_basic
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 'gl_VertexID' ( gl_VertexId highp int VertexId)
|
||||
0:10 Construct uvec4 ( temp highp 4-component vector of uint)
|
||||
0:10 Construct uvec4 ( temp mediump 4-component vector of uint)
|
||||
0:10 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
|
||||
0:10 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
|
||||
0:10 Constant:
|
||||
@ -41,7 +41,7 @@ Requested GL_KHR_shader_subgroup_basic
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 'gl_VertexID' ( gl_VertexId highp int VertexId)
|
||||
0:10 Construct uvec4 ( temp highp 4-component vector of uint)
|
||||
0:10 Construct uvec4 ( temp mediump 4-component vector of uint)
|
||||
0:10 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
|
||||
0:10 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
|
||||
0:10 Constant:
|
||||
|
@ -16,9 +16,9 @@ using depth_any
|
||||
0:31 Constant:
|
||||
0:31 0.100000
|
||||
0:31 Constant:
|
||||
0:31 0.500000
|
||||
0:31 Constant:
|
||||
0:31 1 (const int)
|
||||
0:31 Constant:
|
||||
0:31 0.500000
|
||||
0:32 Sequence
|
||||
0:32 move second child to first child ( temp 4-component vector of int)
|
||||
0:32 'txval11' ( temp 4-component vector of int)
|
||||
@ -29,9 +29,9 @@ using depth_any
|
||||
0:32 Constant:
|
||||
0:32 0.200000
|
||||
0:32 Constant:
|
||||
0:32 0.500000
|
||||
0:32 Constant:
|
||||
0:32 1 (const int)
|
||||
0:32 Constant:
|
||||
0:32 0.500000
|
||||
0:33 Sequence
|
||||
0:33 move second child to first child ( temp 4-component vector of uint)
|
||||
0:33 'txval12' ( temp 4-component vector of uint)
|
||||
@ -42,9 +42,9 @@ using depth_any
|
||||
0:33 Constant:
|
||||
0:33 0.300000
|
||||
0:33 Constant:
|
||||
0:33 0.500000
|
||||
0:33 Constant:
|
||||
0:33 1 (const int)
|
||||
0:33 Constant:
|
||||
0:33 0.500000
|
||||
0:35 Sequence
|
||||
0:35 move second child to first child ( temp 4-component vector of float)
|
||||
0:35 'txval20' ( temp 4-component vector of float)
|
||||
@ -56,10 +56,10 @@ using depth_any
|
||||
0:35 0.100000
|
||||
0:35 0.200000
|
||||
0:35 Constant:
|
||||
0:35 0.500000
|
||||
0:35 Constant:
|
||||
0:35 1 (const int)
|
||||
0:35 0 (const int)
|
||||
0:35 Constant:
|
||||
0:35 0.500000
|
||||
0:36 Sequence
|
||||
0:36 move second child to first child ( temp 4-component vector of int)
|
||||
0:36 'txval21' ( temp 4-component vector of int)
|
||||
@ -71,10 +71,10 @@ using depth_any
|
||||
0:36 0.300000
|
||||
0:36 0.400000
|
||||
0:36 Constant:
|
||||
0:36 0.500000
|
||||
0:36 1 (const int)
|
||||
0:36 1 (const int)
|
||||
0:36 Constant:
|
||||
0:36 1 (const int)
|
||||
0:36 1 (const int)
|
||||
0:36 0.500000
|
||||
0:37 Sequence
|
||||
0:37 move second child to first child ( temp 4-component vector of uint)
|
||||
0:37 'txval22' ( temp 4-component vector of uint)
|
||||
@ -86,10 +86,10 @@ using depth_any
|
||||
0:37 0.500000
|
||||
0:37 0.600000
|
||||
0:37 Constant:
|
||||
0:37 0.500000
|
||||
0:37 Constant:
|
||||
0:37 1 (const int)
|
||||
0:37 -1 (const int)
|
||||
0:37 Constant:
|
||||
0:37 0.500000
|
||||
0:39 Sequence
|
||||
0:39 move second child to first child ( temp 4-component vector of float)
|
||||
0:39 'txval30' ( temp 4-component vector of float)
|
||||
@ -102,11 +102,11 @@ using depth_any
|
||||
0:39 0.200000
|
||||
0:39 0.300000
|
||||
0:39 Constant:
|
||||
0:39 0.500000
|
||||
0:39 Constant:
|
||||
0:39 1 (const int)
|
||||
0:39 0 (const int)
|
||||
0:39 1 (const int)
|
||||
0:39 Constant:
|
||||
0:39 0.500000
|
||||
0:40 Sequence
|
||||
0:40 move second child to first child ( temp 4-component vector of int)
|
||||
0:40 'txval31' ( temp 4-component vector of int)
|
||||
@ -119,11 +119,11 @@ using depth_any
|
||||
0:40 0.500000
|
||||
0:40 0.600000
|
||||
0:40 Constant:
|
||||
0:40 0.500000
|
||||
0:40 1 (const int)
|
||||
0:40 1 (const int)
|
||||
0:40 1 (const int)
|
||||
0:40 Constant:
|
||||
0:40 1 (const int)
|
||||
0:40 1 (const int)
|
||||
0:40 1 (const int)
|
||||
0:40 0.500000
|
||||
0:41 Sequence
|
||||
0:41 move second child to first child ( temp 4-component vector of uint)
|
||||
0:41 'txval32' ( temp 4-component vector of uint)
|
||||
@ -136,11 +136,11 @@ using depth_any
|
||||
0:41 0.800000
|
||||
0:41 0.900000
|
||||
0:41 Constant:
|
||||
0:41 0.500000
|
||||
0:41 Constant:
|
||||
0:41 1 (const int)
|
||||
0:41 0 (const int)
|
||||
0:41 -1 (const int)
|
||||
0:41 Constant:
|
||||
0:41 0.500000
|
||||
0:45 move second child to first child ( temp 4-component vector of float)
|
||||
0:45 Color: direct index for structure ( temp 4-component vector of float)
|
||||
0:45 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth})
|
||||
@ -218,9 +218,9 @@ using depth_any
|
||||
0:31 Constant:
|
||||
0:31 0.100000
|
||||
0:31 Constant:
|
||||
0:31 0.500000
|
||||
0:31 Constant:
|
||||
0:31 1 (const int)
|
||||
0:31 Constant:
|
||||
0:31 0.500000
|
||||
0:32 Sequence
|
||||
0:32 move second child to first child ( temp 4-component vector of int)
|
||||
0:32 'txval11' ( temp 4-component vector of int)
|
||||
@ -231,9 +231,9 @@ using depth_any
|
||||
0:32 Constant:
|
||||
0:32 0.200000
|
||||
0:32 Constant:
|
||||
0:32 0.500000
|
||||
0:32 Constant:
|
||||
0:32 1 (const int)
|
||||
0:32 Constant:
|
||||
0:32 0.500000
|
||||
0:33 Sequence
|
||||
0:33 move second child to first child ( temp 4-component vector of uint)
|
||||
0:33 'txval12' ( temp 4-component vector of uint)
|
||||
@ -244,9 +244,9 @@ using depth_any
|
||||
0:33 Constant:
|
||||
0:33 0.300000
|
||||
0:33 Constant:
|
||||
0:33 0.500000
|
||||
0:33 Constant:
|
||||
0:33 1 (const int)
|
||||
0:33 Constant:
|
||||
0:33 0.500000
|
||||
0:35 Sequence
|
||||
0:35 move second child to first child ( temp 4-component vector of float)
|
||||
0:35 'txval20' ( temp 4-component vector of float)
|
||||
@ -258,10 +258,10 @@ using depth_any
|
||||
0:35 0.100000
|
||||
0:35 0.200000
|
||||
0:35 Constant:
|
||||
0:35 0.500000
|
||||
0:35 Constant:
|
||||
0:35 1 (const int)
|
||||
0:35 0 (const int)
|
||||
0:35 Constant:
|
||||
0:35 0.500000
|
||||
0:36 Sequence
|
||||
0:36 move second child to first child ( temp 4-component vector of int)
|
||||
0:36 'txval21' ( temp 4-component vector of int)
|
||||
@ -273,10 +273,10 @@ using depth_any
|
||||
0:36 0.300000
|
||||
0:36 0.400000
|
||||
0:36 Constant:
|
||||
0:36 0.500000
|
||||
0:36 1 (const int)
|
||||
0:36 1 (const int)
|
||||
0:36 Constant:
|
||||
0:36 1 (const int)
|
||||
0:36 1 (const int)
|
||||
0:36 0.500000
|
||||
0:37 Sequence
|
||||
0:37 move second child to first child ( temp 4-component vector of uint)
|
||||
0:37 'txval22' ( temp 4-component vector of uint)
|
||||
@ -288,10 +288,10 @@ using depth_any
|
||||
0:37 0.500000
|
||||
0:37 0.600000
|
||||
0:37 Constant:
|
||||
0:37 0.500000
|
||||
0:37 Constant:
|
||||
0:37 1 (const int)
|
||||
0:37 -1 (const int)
|
||||
0:37 Constant:
|
||||
0:37 0.500000
|
||||
0:39 Sequence
|
||||
0:39 move second child to first child ( temp 4-component vector of float)
|
||||
0:39 'txval30' ( temp 4-component vector of float)
|
||||
@ -304,11 +304,11 @@ using depth_any
|
||||
0:39 0.200000
|
||||
0:39 0.300000
|
||||
0:39 Constant:
|
||||
0:39 0.500000
|
||||
0:39 Constant:
|
||||
0:39 1 (const int)
|
||||
0:39 0 (const int)
|
||||
0:39 1 (const int)
|
||||
0:39 Constant:
|
||||
0:39 0.500000
|
||||
0:40 Sequence
|
||||
0:40 move second child to first child ( temp 4-component vector of int)
|
||||
0:40 'txval31' ( temp 4-component vector of int)
|
||||
@ -321,11 +321,11 @@ using depth_any
|
||||
0:40 0.500000
|
||||
0:40 0.600000
|
||||
0:40 Constant:
|
||||
0:40 0.500000
|
||||
0:40 1 (const int)
|
||||
0:40 1 (const int)
|
||||
0:40 1 (const int)
|
||||
0:40 Constant:
|
||||
0:40 1 (const int)
|
||||
0:40 1 (const int)
|
||||
0:40 1 (const int)
|
||||
0:40 0.500000
|
||||
0:41 Sequence
|
||||
0:41 move second child to first child ( temp 4-component vector of uint)
|
||||
0:41 'txval32' ( temp 4-component vector of uint)
|
||||
@ -338,11 +338,11 @@ using depth_any
|
||||
0:41 0.800000
|
||||
0:41 0.900000
|
||||
0:41 Constant:
|
||||
0:41 0.500000
|
||||
0:41 Constant:
|
||||
0:41 1 (const int)
|
||||
0:41 0 (const int)
|
||||
0:41 -1 (const int)
|
||||
0:41 Constant:
|
||||
0:41 0.500000
|
||||
0:45 move second child to first child ( temp 4-component vector of float)
|
||||
0:45 Color: direct index for structure ( temp 4-component vector of float)
|
||||
0:45 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth})
|
||||
@ -399,7 +399,6 @@ using depth_any
|
||||
0:? '@entryPointOutput.Depth' ( out float FragDepth)
|
||||
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
Validation failed
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 161
|
||||
@ -489,12 +488,12 @@ Validation failed
|
||||
20(g_sSamp): 19(ptr) Variable UniformConstant
|
||||
22: TypeSampledImage 14
|
||||
24: 6(float) Constant 1036831949
|
||||
25: 6(float) Constant 1056964608
|
||||
26: TypeInt 32 1
|
||||
27: 26(int) Constant 1
|
||||
29: TypeVector 26(int) 4
|
||||
25: TypeInt 32 1
|
||||
26: 25(int) Constant 1
|
||||
27: 6(float) Constant 1056964608
|
||||
29: TypeVector 25(int) 4
|
||||
30: TypePointer Function 29(ivec4)
|
||||
32: TypeImage 26(int) 1D sampled format:Unknown
|
||||
32: TypeImage 25(int) 1D sampled format:Unknown
|
||||
33: TypePointer UniformConstant 32
|
||||
34(g_tTex1di4): 33(ptr) Variable UniformConstant
|
||||
37: TypeSampledImage 32
|
||||
@ -513,38 +512,38 @@ Validation failed
|
||||
60: TypeSampledImage 55
|
||||
62: TypeVector 6(float) 2
|
||||
63: 62(fvec2) ConstantComposite 24 39
|
||||
64: TypeVector 26(int) 2
|
||||
65: 26(int) Constant 0
|
||||
66: 64(ivec2) ConstantComposite 27 65
|
||||
69: TypeImage 26(int) 2D sampled format:Unknown
|
||||
64: TypeVector 25(int) 2
|
||||
65: 25(int) Constant 0
|
||||
66: 64(ivec2) ConstantComposite 26 65
|
||||
69: TypeImage 25(int) 2D sampled format:Unknown
|
||||
70: TypePointer UniformConstant 69
|
||||
71(g_tTex2di4): 70(ptr) Variable UniformConstant
|
||||
74: TypeSampledImage 69
|
||||
76: 6(float) Constant 1053609165
|
||||
77: 62(fvec2) ConstantComposite 52 76
|
||||
78: 64(ivec2) ConstantComposite 27 27
|
||||
78: 64(ivec2) ConstantComposite 26 26
|
||||
81: TypeImage 41(int) 2D sampled format:Unknown
|
||||
82: TypePointer UniformConstant 81
|
||||
83(g_tTex2du4): 82(ptr) Variable UniformConstant
|
||||
86: TypeSampledImage 81
|
||||
88: 6(float) Constant 1058642330
|
||||
89: 62(fvec2) ConstantComposite 25 88
|
||||
90: 26(int) Constant 4294967295
|
||||
91: 64(ivec2) ConstantComposite 27 90
|
||||
89: 62(fvec2) ConstantComposite 27 88
|
||||
90: 25(int) Constant 4294967295
|
||||
91: 64(ivec2) ConstantComposite 26 90
|
||||
94: TypeImage 6(float) 3D sampled format:Unknown
|
||||
95: TypePointer UniformConstant 94
|
||||
96(g_tTex3df4): 95(ptr) Variable UniformConstant
|
||||
99: TypeSampledImage 94
|
||||
101: TypeVector 6(float) 3
|
||||
102: 101(fvec3) ConstantComposite 24 39 52
|
||||
103: TypeVector 26(int) 3
|
||||
104: 103(ivec3) ConstantComposite 27 65 27
|
||||
107: TypeImage 26(int) 3D sampled format:Unknown
|
||||
103: TypeVector 25(int) 3
|
||||
104: 103(ivec3) ConstantComposite 26 65 26
|
||||
107: TypeImage 25(int) 3D sampled format:Unknown
|
||||
108: TypePointer UniformConstant 107
|
||||
109(g_tTex3di4): 108(ptr) Variable UniformConstant
|
||||
112: TypeSampledImage 107
|
||||
114: 101(fvec3) ConstantComposite 76 25 88
|
||||
115: 103(ivec3) ConstantComposite 27 27 27
|
||||
114: 101(fvec3) ConstantComposite 76 27 88
|
||||
115: 103(ivec3) ConstantComposite 26 26 26
|
||||
118: TypeImage 41(int) 3D sampled format:Unknown
|
||||
119: TypePointer UniformConstant 118
|
||||
120(g_tTex3du4): 119(ptr) Variable UniformConstant
|
||||
@ -553,7 +552,7 @@ Validation failed
|
||||
126: 6(float) Constant 1061997773
|
||||
127: 6(float) Constant 1063675494
|
||||
128: 101(fvec3) ConstantComposite 125 126 127
|
||||
129: 103(ivec3) ConstantComposite 27 65 90
|
||||
129: 103(ivec3) ConstantComposite 26 65 90
|
||||
131: TypePointer Function 8(PS_OUTPUT)
|
||||
133: 6(float) Constant 1065353216
|
||||
134: 7(fvec4) ConstantComposite 133 133 133 133
|
||||
@ -566,7 +565,7 @@ Validation failed
|
||||
152: TypeImage 6(float) Cube sampled format:Unknown
|
||||
153: TypePointer UniformConstant 152
|
||||
154(g_tTexcdf4): 153(ptr) Variable UniformConstant
|
||||
155: TypeImage 26(int) Cube sampled format:Unknown
|
||||
155: TypeImage 25(int) Cube sampled format:Unknown
|
||||
156: TypePointer UniformConstant 155
|
||||
157(g_tTexcdi4): 156(ptr) Variable UniformConstant
|
||||
158: TypeImage 41(int) Cube sampled format:Unknown
|
||||
@ -580,7 +579,7 @@ Validation failed
|
||||
145: 12(ptr) AccessChain 141(flattenTemp) 65
|
||||
146: 7(fvec4) Load 145
|
||||
Store 144(@entryPointOutput.Color) 146
|
||||
149: 136(ptr) AccessChain 141(flattenTemp) 27
|
||||
149: 136(ptr) AccessChain 141(flattenTemp) 26
|
||||
150: 6(float) Load 149
|
||||
Store 148(@entryPointOutput.Depth) 150
|
||||
Return
|
||||
@ -600,51 +599,51 @@ Validation failed
|
||||
17: 14 Load 16(g_tTex1df4)
|
||||
21: 18 Load 20(g_sSamp)
|
||||
23: 22 SampledImage 17 21
|
||||
28: 7(fvec4) ImageSampleImplicitLod 23 24 Bias ConstOffset 27 25
|
||||
28: 7(fvec4) ImageSampleImplicitLod 23 24 Bias ConstOffset 27 26
|
||||
Store 13(txval10) 28
|
||||
35: 32 Load 34(g_tTex1di4)
|
||||
36: 18 Load 20(g_sSamp)
|
||||
38: 37 SampledImage 35 36
|
||||
40: 29(ivec4) ImageSampleImplicitLod 38 39 Bias ConstOffset 27 25
|
||||
40: 29(ivec4) ImageSampleImplicitLod 38 39 Bias ConstOffset 27 26
|
||||
Store 31(txval11) 40
|
||||
48: 45 Load 47(g_tTex1du4)
|
||||
49: 18 Load 20(g_sSamp)
|
||||
51: 50 SampledImage 48 49
|
||||
53: 42(ivec4) ImageSampleImplicitLod 51 52 Bias ConstOffset 27 25
|
||||
53: 42(ivec4) ImageSampleImplicitLod 51 52 Bias ConstOffset 27 26
|
||||
Store 44(txval12) 53
|
||||
58: 55 Load 57(g_tTex2df4)
|
||||
59: 18 Load 20(g_sSamp)
|
||||
61: 60 SampledImage 58 59
|
||||
67: 7(fvec4) ImageSampleImplicitLod 61 63 Bias ConstOffset 66 25
|
||||
67: 7(fvec4) ImageSampleImplicitLod 61 63 Bias ConstOffset 27 66
|
||||
Store 54(txval20) 67
|
||||
72: 69 Load 71(g_tTex2di4)
|
||||
73: 18 Load 20(g_sSamp)
|
||||
75: 74 SampledImage 72 73
|
||||
79: 29(ivec4) ImageSampleImplicitLod 75 77 Bias ConstOffset 78 25
|
||||
79: 29(ivec4) ImageSampleImplicitLod 75 77 Bias ConstOffset 27 78
|
||||
Store 68(txval21) 79
|
||||
84: 81 Load 83(g_tTex2du4)
|
||||
85: 18 Load 20(g_sSamp)
|
||||
87: 86 SampledImage 84 85
|
||||
92: 42(ivec4) ImageSampleImplicitLod 87 89 Bias ConstOffset 91 25
|
||||
92: 42(ivec4) ImageSampleImplicitLod 87 89 Bias ConstOffset 27 91
|
||||
Store 80(txval22) 92
|
||||
97: 94 Load 96(g_tTex3df4)
|
||||
98: 18 Load 20(g_sSamp)
|
||||
100: 99 SampledImage 97 98
|
||||
105: 7(fvec4) ImageSampleImplicitLod 100 102 Bias ConstOffset 104 25
|
||||
105: 7(fvec4) ImageSampleImplicitLod 100 102 Bias ConstOffset 27 104
|
||||
Store 93(txval30) 105
|
||||
110: 107 Load 109(g_tTex3di4)
|
||||
111: 18 Load 20(g_sSamp)
|
||||
113: 112 SampledImage 110 111
|
||||
116: 29(ivec4) ImageSampleImplicitLod 113 114 Bias ConstOffset 115 25
|
||||
116: 29(ivec4) ImageSampleImplicitLod 113 114 Bias ConstOffset 27 115
|
||||
Store 106(txval31) 116
|
||||
121: 118 Load 120(g_tTex3du4)
|
||||
122: 18 Load 20(g_sSamp)
|
||||
124: 123 SampledImage 121 122
|
||||
130: 42(ivec4) ImageSampleImplicitLod 124 128 Bias ConstOffset 129 25
|
||||
130: 42(ivec4) ImageSampleImplicitLod 124 128 Bias ConstOffset 27 129
|
||||
Store 117(txval32) 130
|
||||
135: 12(ptr) AccessChain 132(psout) 65
|
||||
Store 135 134
|
||||
137: 136(ptr) AccessChain 132(psout) 27
|
||||
137: 136(ptr) AccessChain 132(psout) 26
|
||||
Store 137 133
|
||||
138:8(PS_OUTPUT) Load 132(psout)
|
||||
ReturnValue 138
|
||||
|
@ -17,9 +17,9 @@ using depth_any
|
||||
0:23 0.100000
|
||||
0:23 0.200000
|
||||
0:23 Constant:
|
||||
0:23 0.500000
|
||||
0:23 Constant:
|
||||
0:23 0 (const int)
|
||||
0:23 Constant:
|
||||
0:23 0.500000
|
||||
0:24 Sequence
|
||||
0:24 move second child to first child ( temp 4-component vector of int)
|
||||
0:24 'txval11' ( temp 4-component vector of int)
|
||||
@ -31,9 +31,9 @@ using depth_any
|
||||
0:24 0.200000
|
||||
0:24 0.300000
|
||||
0:24 Constant:
|
||||
0:24 0.500000
|
||||
0:24 Constant:
|
||||
0:24 1 (const int)
|
||||
0:24 Constant:
|
||||
0:24 0.500000
|
||||
0:25 Sequence
|
||||
0:25 move second child to first child ( temp 4-component vector of uint)
|
||||
0:25 'txval12' ( temp 4-component vector of uint)
|
||||
@ -45,9 +45,9 @@ using depth_any
|
||||
0:25 0.300000
|
||||
0:25 0.400000
|
||||
0:25 Constant:
|
||||
0:25 0.500000
|
||||
0:25 Constant:
|
||||
0:25 2 (const int)
|
||||
0:25 Constant:
|
||||
0:25 0.500000
|
||||
0:27 Sequence
|
||||
0:27 move second child to first child ( temp 4-component vector of float)
|
||||
0:27 'txval20' ( temp 4-component vector of float)
|
||||
@ -60,10 +60,10 @@ using depth_any
|
||||
0:27 0.200000
|
||||
0:27 0.300000
|
||||
0:27 Constant:
|
||||
0:27 0.500000
|
||||
0:27 0 (const int)
|
||||
0:27 0 (const int)
|
||||
0:27 Constant:
|
||||
0:27 0 (const int)
|
||||
0:27 0 (const int)
|
||||
0:27 0.500000
|
||||
0:28 Sequence
|
||||
0:28 move second child to first child ( temp 4-component vector of int)
|
||||
0:28 'txval21' ( temp 4-component vector of int)
|
||||
@ -76,10 +76,10 @@ using depth_any
|
||||
0:28 0.400000
|
||||
0:28 0.500000
|
||||
0:28 Constant:
|
||||
0:28 0.500000
|
||||
0:28 0 (const int)
|
||||
0:28 0 (const int)
|
||||
0:28 Constant:
|
||||
0:28 0 (const int)
|
||||
0:28 0 (const int)
|
||||
0:28 0.500000
|
||||
0:29 Sequence
|
||||
0:29 move second child to first child ( temp 4-component vector of uint)
|
||||
0:29 'txval22' ( temp 4-component vector of uint)
|
||||
@ -92,10 +92,10 @@ using depth_any
|
||||
0:29 0.600000
|
||||
0:29 0.700000
|
||||
0:29 Constant:
|
||||
0:29 0.500000
|
||||
0:29 Constant:
|
||||
0:29 0 (const int)
|
||||
0:29 1 (const int)
|
||||
0:29 Constant:
|
||||
0:29 0.500000
|
||||
0:33 move second child to first child ( temp 4-component vector of float)
|
||||
0:33 Color: direct index for structure ( temp 4-component vector of float)
|
||||
0:33 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth})
|
||||
@ -168,9 +168,9 @@ using depth_any
|
||||
0:23 0.100000
|
||||
0:23 0.200000
|
||||
0:23 Constant:
|
||||
0:23 0.500000
|
||||
0:23 Constant:
|
||||
0:23 0 (const int)
|
||||
0:23 Constant:
|
||||
0:23 0.500000
|
||||
0:24 Sequence
|
||||
0:24 move second child to first child ( temp 4-component vector of int)
|
||||
0:24 'txval11' ( temp 4-component vector of int)
|
||||
@ -182,9 +182,9 @@ using depth_any
|
||||
0:24 0.200000
|
||||
0:24 0.300000
|
||||
0:24 Constant:
|
||||
0:24 0.500000
|
||||
0:24 Constant:
|
||||
0:24 1 (const int)
|
||||
0:24 Constant:
|
||||
0:24 0.500000
|
||||
0:25 Sequence
|
||||
0:25 move second child to first child ( temp 4-component vector of uint)
|
||||
0:25 'txval12' ( temp 4-component vector of uint)
|
||||
@ -196,9 +196,9 @@ using depth_any
|
||||
0:25 0.300000
|
||||
0:25 0.400000
|
||||
0:25 Constant:
|
||||
0:25 0.500000
|
||||
0:25 Constant:
|
||||
0:25 2 (const int)
|
||||
0:25 Constant:
|
||||
0:25 0.500000
|
||||
0:27 Sequence
|
||||
0:27 move second child to first child ( temp 4-component vector of float)
|
||||
0:27 'txval20' ( temp 4-component vector of float)
|
||||
@ -211,10 +211,10 @@ using depth_any
|
||||
0:27 0.200000
|
||||
0:27 0.300000
|
||||
0:27 Constant:
|
||||
0:27 0.500000
|
||||
0:27 0 (const int)
|
||||
0:27 0 (const int)
|
||||
0:27 Constant:
|
||||
0:27 0 (const int)
|
||||
0:27 0 (const int)
|
||||
0:27 0.500000
|
||||
0:28 Sequence
|
||||
0:28 move second child to first child ( temp 4-component vector of int)
|
||||
0:28 'txval21' ( temp 4-component vector of int)
|
||||
@ -227,10 +227,10 @@ using depth_any
|
||||
0:28 0.400000
|
||||
0:28 0.500000
|
||||
0:28 Constant:
|
||||
0:28 0.500000
|
||||
0:28 0 (const int)
|
||||
0:28 0 (const int)
|
||||
0:28 Constant:
|
||||
0:28 0 (const int)
|
||||
0:28 0 (const int)
|
||||
0:28 0.500000
|
||||
0:29 Sequence
|
||||
0:29 move second child to first child ( temp 4-component vector of uint)
|
||||
0:29 'txval22' ( temp 4-component vector of uint)
|
||||
@ -243,10 +243,10 @@ using depth_any
|
||||
0:29 0.600000
|
||||
0:29 0.700000
|
||||
0:29 Constant:
|
||||
0:29 0.500000
|
||||
0:29 Constant:
|
||||
0:29 0 (const int)
|
||||
0:29 1 (const int)
|
||||
0:29 Constant:
|
||||
0:29 0.500000
|
||||
0:33 move second child to first child ( temp 4-component vector of float)
|
||||
0:33 Color: direct index for structure ( temp 4-component vector of float)
|
||||
0:33 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth})
|
||||
@ -297,7 +297,6 @@ using depth_any
|
||||
0:? '@entryPointOutput.Depth' ( out float FragDepth)
|
||||
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
Validation failed
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 118
|
||||
@ -369,18 +368,18 @@ Validation failed
|
||||
25: 6(float) Constant 1036831949
|
||||
26: 6(float) Constant 1045220557
|
||||
27: 24(fvec2) ConstantComposite 25 26
|
||||
28: 6(float) Constant 1056964608
|
||||
29: TypeInt 32 1
|
||||
30: 29(int) Constant 0
|
||||
32: TypeVector 29(int) 4
|
||||
28: TypeInt 32 1
|
||||
29: 28(int) Constant 0
|
||||
30: 6(float) Constant 1056964608
|
||||
32: TypeVector 28(int) 4
|
||||
33: TypePointer Function 32(ivec4)
|
||||
35: TypeImage 29(int) 1D array sampled format:Unknown
|
||||
35: TypeImage 28(int) 1D array sampled format:Unknown
|
||||
36: TypePointer UniformConstant 35
|
||||
37(g_tTex1di4): 36(ptr) Variable UniformConstant
|
||||
40: TypeSampledImage 35
|
||||
42: 6(float) Constant 1050253722
|
||||
43: 24(fvec2) ConstantComposite 26 42
|
||||
44: 29(int) Constant 1
|
||||
44: 28(int) Constant 1
|
||||
46: TypeInt 32 0
|
||||
47: TypeVector 46(int) 4
|
||||
48: TypePointer Function 47(ivec4)
|
||||
@ -390,28 +389,28 @@ Validation failed
|
||||
55: TypeSampledImage 50
|
||||
57: 6(float) Constant 1053609165
|
||||
58: 24(fvec2) ConstantComposite 42 57
|
||||
59: 29(int) Constant 2
|
||||
59: 28(int) Constant 2
|
||||
62: TypeImage 6(float) 2D array sampled format:Unknown
|
||||
63: TypePointer UniformConstant 62
|
||||
64(g_tTex2df4): 63(ptr) Variable UniformConstant
|
||||
67: TypeSampledImage 62
|
||||
69: TypeVector 6(float) 3
|
||||
70: 69(fvec3) ConstantComposite 25 26 42
|
||||
71: TypeVector 29(int) 2
|
||||
72: 71(ivec2) ConstantComposite 30 30
|
||||
75: TypeImage 29(int) 2D array sampled format:Unknown
|
||||
71: TypeVector 28(int) 2
|
||||
72: 71(ivec2) ConstantComposite 29 29
|
||||
75: TypeImage 28(int) 2D array sampled format:Unknown
|
||||
76: TypePointer UniformConstant 75
|
||||
77(g_tTex2di4): 76(ptr) Variable UniformConstant
|
||||
80: TypeSampledImage 75
|
||||
82: 69(fvec3) ConstantComposite 42 57 28
|
||||
82: 69(fvec3) ConstantComposite 42 57 30
|
||||
85: TypeImage 46(int) 2D array sampled format:Unknown
|
||||
86: TypePointer UniformConstant 85
|
||||
87(g_tTex2du4): 86(ptr) Variable UniformConstant
|
||||
90: TypeSampledImage 85
|
||||
92: 6(float) Constant 1058642330
|
||||
93: 6(float) Constant 1060320051
|
||||
94: 69(fvec3) ConstantComposite 28 92 93
|
||||
95: 71(ivec2) ConstantComposite 30 44
|
||||
94: 69(fvec3) ConstantComposite 30 92 93
|
||||
95: 71(ivec2) ConstantComposite 29 44
|
||||
97: TypePointer Function 8(PS_OUTPUT)
|
||||
99: 6(float) Constant 1065353216
|
||||
100: 7(fvec4) ConstantComposite 99 99 99 99
|
||||
@ -426,7 +425,7 @@ Validation failed
|
||||
107(flattenTemp): 97(ptr) Variable Function
|
||||
108:8(PS_OUTPUT) FunctionCall 10(@main()
|
||||
Store 107(flattenTemp) 108
|
||||
111: 12(ptr) AccessChain 107(flattenTemp) 30
|
||||
111: 12(ptr) AccessChain 107(flattenTemp) 29
|
||||
112: 7(fvec4) Load 111
|
||||
Store 110(@entryPointOutput.Color) 112
|
||||
115: 102(ptr) AccessChain 107(flattenTemp) 44
|
||||
@ -446,34 +445,34 @@ Validation failed
|
||||
17: 14 Load 16(g_tTex1df4)
|
||||
21: 18 Load 20(g_sSamp)
|
||||
23: 22 SampledImage 17 21
|
||||
31: 7(fvec4) ImageSampleImplicitLod 23 27 Bias ConstOffset 30 28
|
||||
31: 7(fvec4) ImageSampleImplicitLod 23 27 Bias ConstOffset 30 29
|
||||
Store 13(txval10) 31
|
||||
38: 35 Load 37(g_tTex1di4)
|
||||
39: 18 Load 20(g_sSamp)
|
||||
41: 40 SampledImage 38 39
|
||||
45: 32(ivec4) ImageSampleImplicitLod 41 43 Bias ConstOffset 44 28
|
||||
45: 32(ivec4) ImageSampleImplicitLod 41 43 Bias ConstOffset 30 44
|
||||
Store 34(txval11) 45
|
||||
53: 50 Load 52(g_tTex1du4)
|
||||
54: 18 Load 20(g_sSamp)
|
||||
56: 55 SampledImage 53 54
|
||||
60: 47(ivec4) ImageSampleImplicitLod 56 58 Bias ConstOffset 59 28
|
||||
60: 47(ivec4) ImageSampleImplicitLod 56 58 Bias ConstOffset 30 59
|
||||
Store 49(txval12) 60
|
||||
65: 62 Load 64(g_tTex2df4)
|
||||
66: 18 Load 20(g_sSamp)
|
||||
68: 67 SampledImage 65 66
|
||||
73: 7(fvec4) ImageSampleImplicitLod 68 70 Bias ConstOffset 72 28
|
||||
73: 7(fvec4) ImageSampleImplicitLod 68 70 Bias ConstOffset 30 72
|
||||
Store 61(txval20) 73
|
||||
78: 75 Load 77(g_tTex2di4)
|
||||
79: 18 Load 20(g_sSamp)
|
||||
81: 80 SampledImage 78 79
|
||||
83: 32(ivec4) ImageSampleImplicitLod 81 82 Bias ConstOffset 72 28
|
||||
83: 32(ivec4) ImageSampleImplicitLod 81 82 Bias ConstOffset 30 72
|
||||
Store 74(txval21) 83
|
||||
88: 85 Load 87(g_tTex2du4)
|
||||
89: 18 Load 20(g_sSamp)
|
||||
91: 90 SampledImage 88 89
|
||||
96: 47(ivec4) ImageSampleImplicitLod 91 94 Bias ConstOffset 95 28
|
||||
96: 47(ivec4) ImageSampleImplicitLod 91 94 Bias ConstOffset 30 95
|
||||
Store 84(txval22) 96
|
||||
101: 12(ptr) AccessChain 98(psout) 30
|
||||
101: 12(ptr) AccessChain 98(psout) 29
|
||||
Store 101 100
|
||||
103: 102(ptr) AccessChain 98(psout) 44
|
||||
Store 103 99
|
||||
|
140
Test/baseResults/hlsl.structbuffer.rwbyte2.comp.out
Normal file
140
Test/baseResults/hlsl.structbuffer.rwbyte2.comp.out
Normal file
@ -0,0 +1,140 @@
|
||||
hlsl.structbuffer.rwbyte2.comp
|
||||
Shader version: 500
|
||||
local_size = (1, 1, 1)
|
||||
0:? Sequence
|
||||
0:6 Function Definition: @main( ( temp void)
|
||||
0:6 Function Parameters:
|
||||
0:? Sequence
|
||||
0:7 Sequence
|
||||
0:7 move second child to first child ( temp uint)
|
||||
0:7 'f' ( temp uint)
|
||||
0:7 indirect index (layout( row_major std430) buffer uint)
|
||||
0:7 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:7 'g_bbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:7 Constant:
|
||||
0:7 0 (const uint)
|
||||
0:7 right-shift ( temp int)
|
||||
0:7 Constant:
|
||||
0:7 16 (const int)
|
||||
0:7 Constant:
|
||||
0:7 2 (const int)
|
||||
0:8 move second child to first child ( temp uint)
|
||||
0:8 direct index (layout( row_major std430) buffer uint)
|
||||
0:8 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:8 'g_sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:8 Constant:
|
||||
0:8 0 (const uint)
|
||||
0:8 Constant:
|
||||
0:8 0 (const int)
|
||||
0:8 'f' ( temp uint)
|
||||
0:6 Function Definition: main( ( temp void)
|
||||
0:6 Function Parameters:
|
||||
0:? Sequence
|
||||
0:6 Function Call: @main( ( temp void)
|
||||
0:? Linker Objects
|
||||
0:? 'g_sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:? 'g_bbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
|
||||
|
||||
Linked compute stage:
|
||||
|
||||
|
||||
Shader version: 500
|
||||
local_size = (1, 1, 1)
|
||||
0:? Sequence
|
||||
0:6 Function Definition: @main( ( temp void)
|
||||
0:6 Function Parameters:
|
||||
0:? Sequence
|
||||
0:7 Sequence
|
||||
0:7 move second child to first child ( temp uint)
|
||||
0:7 'f' ( temp uint)
|
||||
0:7 indirect index (layout( row_major std430) buffer uint)
|
||||
0:7 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:7 'g_bbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:7 Constant:
|
||||
0:7 0 (const uint)
|
||||
0:7 right-shift ( temp int)
|
||||
0:7 Constant:
|
||||
0:7 16 (const int)
|
||||
0:7 Constant:
|
||||
0:7 2 (const int)
|
||||
0:8 move second child to first child ( temp uint)
|
||||
0:8 direct index (layout( row_major std430) buffer uint)
|
||||
0:8 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:8 'g_sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:8 Constant:
|
||||
0:8 0 (const uint)
|
||||
0:8 Constant:
|
||||
0:8 0 (const int)
|
||||
0:8 'f' ( temp uint)
|
||||
0:6 Function Definition: main( ( temp void)
|
||||
0:6 Function Parameters:
|
||||
0:? Sequence
|
||||
0:6 Function Call: @main( ( temp void)
|
||||
0:? Linker Objects
|
||||
0:? 'g_sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:? 'g_bbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 30
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint GLCompute 4 "main"
|
||||
ExecutionMode 4 LocalSize 1 1 1
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
Name 6 "@main("
|
||||
Name 10 "f"
|
||||
Name 12 "g_bbuf"
|
||||
MemberName 12(g_bbuf) 0 "@data"
|
||||
Name 14 "g_bbuf"
|
||||
Name 24 "g_sbuf"
|
||||
MemberName 24(g_sbuf) 0 "@data"
|
||||
Name 26 "g_sbuf"
|
||||
Decorate 11 ArrayStride 4
|
||||
MemberDecorate 12(g_bbuf) 0 Offset 0
|
||||
Decorate 12(g_bbuf) BufferBlock
|
||||
Decorate 14(g_bbuf) DescriptorSet 0
|
||||
Decorate 14(g_bbuf) Binding 1
|
||||
Decorate 23 ArrayStride 4
|
||||
MemberDecorate 24(g_sbuf) 0 Offset 0
|
||||
Decorate 24(g_sbuf) BufferBlock
|
||||
Decorate 26(g_sbuf) DescriptorSet 0
|
||||
Decorate 26(g_sbuf) Binding 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
8: TypeInt 32 0
|
||||
9: TypePointer Function 8(int)
|
||||
11: TypeRuntimeArray 8(int)
|
||||
12(g_bbuf): TypeStruct 11
|
||||
13: TypePointer Uniform 12(g_bbuf)
|
||||
14(g_bbuf): 13(ptr) Variable Uniform
|
||||
15: TypeInt 32 1
|
||||
16: 15(int) Constant 0
|
||||
17: 15(int) Constant 16
|
||||
18: 15(int) Constant 2
|
||||
20: TypePointer Uniform 8(int)
|
||||
23: TypeRuntimeArray 8(int)
|
||||
24(g_sbuf): TypeStruct 23
|
||||
25: TypePointer Uniform 24(g_sbuf)
|
||||
26(g_sbuf): 25(ptr) Variable Uniform
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
29: 2 FunctionCall 6(@main()
|
||||
Return
|
||||
FunctionEnd
|
||||
6(@main(): 2 Function None 3
|
||||
7: Label
|
||||
10(f): 9(ptr) Variable Function
|
||||
19: 15(int) ShiftRightArithmetic 17 18
|
||||
21: 20(ptr) AccessChain 14(g_bbuf) 16 19
|
||||
22: 8(int) Load 21
|
||||
Store 10(f) 22
|
||||
27: 8(int) Load 10(f)
|
||||
28: 20(ptr) AccessChain 26(g_sbuf) 16 16
|
||||
Store 28 27
|
||||
Return
|
||||
FunctionEnd
|
268
Test/baseResults/hlsl.w-recip.frag.out
Normal file
268
Test/baseResults/hlsl.w-recip.frag.out
Normal file
@ -0,0 +1,268 @@
|
||||
hlsl.w-recip.frag
|
||||
Shader version: 500
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:5 Function Definition: @main(vf4; ( temp 4-component vector of float)
|
||||
0:5 Function Parameters:
|
||||
0:5 'vpos' ( in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:6 Sequence
|
||||
0:6 move second child to first child ( temp 4-component vector of float)
|
||||
0:6 'vpos_t' ( temp 4-component vector of float)
|
||||
0:6 Construct vec4 ( temp 4-component vector of float)
|
||||
0:6 vector swizzle ( temp 3-component vector of float)
|
||||
0:6 'vpos' ( in 4-component vector of float)
|
||||
0:6 Sequence
|
||||
0:6 Constant:
|
||||
0:6 0 (const int)
|
||||
0:6 Constant:
|
||||
0:6 1 (const int)
|
||||
0:6 Constant:
|
||||
0:6 2 (const int)
|
||||
0:6 divide ( temp float)
|
||||
0:6 Constant:
|
||||
0:6 1.000000
|
||||
0:6 direct index ( temp float)
|
||||
0:6 'vpos' ( in 4-component vector of float)
|
||||
0:6 Constant:
|
||||
0:6 3 (const int)
|
||||
0:7 Test condition and select ( temp void)
|
||||
0:7 Condition
|
||||
0:7 Compare Less Than ( temp bool)
|
||||
0:7 direct index ( temp float)
|
||||
0:7 'vpos_t' ( temp 4-component vector of float)
|
||||
0:7 Constant:
|
||||
0:7 0 (const int)
|
||||
0:7 Constant:
|
||||
0:7 400.000000
|
||||
0:7 true case
|
||||
0:8 Branch: Return with expression
|
||||
0:8 AmbientColor: direct index for structure ( uniform 4-component vector of float)
|
||||
0:8 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform 4-component vector of float AmbientColor2})
|
||||
0:8 Constant:
|
||||
0:8 0 (const uint)
|
||||
0:7 false case
|
||||
0:10 Branch: Return with expression
|
||||
0:10 AmbientColor2: direct index for structure ( uniform 4-component vector of float)
|
||||
0:10 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform 4-component vector of float AmbientColor2})
|
||||
0:10 Constant:
|
||||
0:10 1 (const uint)
|
||||
0:5 Function Definition: main( ( temp void)
|
||||
0:5 Function Parameters:
|
||||
0:? Sequence
|
||||
0:5 move second child to first child ( temp 4-component vector of float)
|
||||
0:? 'vpos' ( temp 4-component vector of float)
|
||||
0:5 Construct vec4 ( temp 4-component vector of float)
|
||||
0:5 vector swizzle ( temp 3-component vector of float)
|
||||
0:? 'vpos' ( in 4-component vector of float FragCoord)
|
||||
0:5 Sequence
|
||||
0:5 Constant:
|
||||
0:5 0 (const int)
|
||||
0:5 Constant:
|
||||
0:5 1 (const int)
|
||||
0:5 Constant:
|
||||
0:5 2 (const int)
|
||||
0:5 divide ( temp float)
|
||||
0:5 Constant:
|
||||
0:5 1.000000
|
||||
0:5 direct index ( temp float)
|
||||
0:? 'vpos' ( in 4-component vector of float FragCoord)
|
||||
0:5 Constant:
|
||||
0:5 3 (const int)
|
||||
0:5 move second child to first child ( temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:5 Function Call: @main(vf4; ( temp 4-component vector of float)
|
||||
0:? 'vpos' ( temp 4-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform 4-component vector of float AmbientColor2})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'vpos' ( in 4-component vector of float FragCoord)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 500
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:5 Function Definition: @main(vf4; ( temp 4-component vector of float)
|
||||
0:5 Function Parameters:
|
||||
0:5 'vpos' ( in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:6 Sequence
|
||||
0:6 move second child to first child ( temp 4-component vector of float)
|
||||
0:6 'vpos_t' ( temp 4-component vector of float)
|
||||
0:6 Construct vec4 ( temp 4-component vector of float)
|
||||
0:6 vector swizzle ( temp 3-component vector of float)
|
||||
0:6 'vpos' ( in 4-component vector of float)
|
||||
0:6 Sequence
|
||||
0:6 Constant:
|
||||
0:6 0 (const int)
|
||||
0:6 Constant:
|
||||
0:6 1 (const int)
|
||||
0:6 Constant:
|
||||
0:6 2 (const int)
|
||||
0:6 divide ( temp float)
|
||||
0:6 Constant:
|
||||
0:6 1.000000
|
||||
0:6 direct index ( temp float)
|
||||
0:6 'vpos' ( in 4-component vector of float)
|
||||
0:6 Constant:
|
||||
0:6 3 (const int)
|
||||
0:7 Test condition and select ( temp void)
|
||||
0:7 Condition
|
||||
0:7 Compare Less Than ( temp bool)
|
||||
0:7 direct index ( temp float)
|
||||
0:7 'vpos_t' ( temp 4-component vector of float)
|
||||
0:7 Constant:
|
||||
0:7 0 (const int)
|
||||
0:7 Constant:
|
||||
0:7 400.000000
|
||||
0:7 true case
|
||||
0:8 Branch: Return with expression
|
||||
0:8 AmbientColor: direct index for structure ( uniform 4-component vector of float)
|
||||
0:8 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform 4-component vector of float AmbientColor2})
|
||||
0:8 Constant:
|
||||
0:8 0 (const uint)
|
||||
0:7 false case
|
||||
0:10 Branch: Return with expression
|
||||
0:10 AmbientColor2: direct index for structure ( uniform 4-component vector of float)
|
||||
0:10 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform 4-component vector of float AmbientColor2})
|
||||
0:10 Constant:
|
||||
0:10 1 (const uint)
|
||||
0:5 Function Definition: main( ( temp void)
|
||||
0:5 Function Parameters:
|
||||
0:? Sequence
|
||||
0:5 move second child to first child ( temp 4-component vector of float)
|
||||
0:? 'vpos' ( temp 4-component vector of float)
|
||||
0:5 Construct vec4 ( temp 4-component vector of float)
|
||||
0:5 vector swizzle ( temp 3-component vector of float)
|
||||
0:? 'vpos' ( in 4-component vector of float FragCoord)
|
||||
0:5 Sequence
|
||||
0:5 Constant:
|
||||
0:5 0 (const int)
|
||||
0:5 Constant:
|
||||
0:5 1 (const int)
|
||||
0:5 Constant:
|
||||
0:5 2 (const int)
|
||||
0:5 divide ( temp float)
|
||||
0:5 Constant:
|
||||
0:5 1.000000
|
||||
0:5 direct index ( temp float)
|
||||
0:? 'vpos' ( in 4-component vector of float FragCoord)
|
||||
0:5 Constant:
|
||||
0:5 3 (const int)
|
||||
0:5 move second child to first child ( temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:5 Function Call: @main(vf4; ( temp 4-component vector of float)
|
||||
0:? 'vpos' ( temp 4-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform 4-component vector of float AmbientColor2})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'vpos' ( in 4-component vector of float FragCoord)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 69
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 53 65
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
Name 11 "@main(vf4;"
|
||||
Name 10 "vpos"
|
||||
Name 13 "vpos_t"
|
||||
Name 36 "$Global"
|
||||
MemberName 36($Global) 0 "AmbientColor"
|
||||
MemberName 36($Global) 1 "AmbientColor2"
|
||||
Name 38 ""
|
||||
Name 51 "vpos"
|
||||
Name 53 "vpos"
|
||||
Name 65 "@entryPointOutput"
|
||||
Name 66 "param"
|
||||
MemberDecorate 36($Global) 0 Offset 0
|
||||
MemberDecorate 36($Global) 1 Offset 16
|
||||
Decorate 36($Global) Block
|
||||
Decorate 38 DescriptorSet 0
|
||||
Decorate 38 Binding 0
|
||||
Decorate 53(vpos) BuiltIn FragCoord
|
||||
Decorate 65(@entryPointOutput) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypePointer Function 7(fvec4)
|
||||
9: TypeFunction 7(fvec4) 8(ptr)
|
||||
14: TypeVector 6(float) 3
|
||||
17: 6(float) Constant 1065353216
|
||||
18: TypeInt 32 0
|
||||
19: 18(int) Constant 3
|
||||
20: TypePointer Function 6(float)
|
||||
28: 18(int) Constant 0
|
||||
31: 6(float) Constant 1137180672
|
||||
32: TypeBool
|
||||
36($Global): TypeStruct 7(fvec4) 7(fvec4)
|
||||
37: TypePointer Uniform 36($Global)
|
||||
38: 37(ptr) Variable Uniform
|
||||
39: TypeInt 32 1
|
||||
40: 39(int) Constant 0
|
||||
41: TypePointer Uniform 7(fvec4)
|
||||
46: 39(int) Constant 1
|
||||
52: TypePointer Input 7(fvec4)
|
||||
53(vpos): 52(ptr) Variable Input
|
||||
56: TypePointer Input 6(float)
|
||||
64: TypePointer Output 7(fvec4)
|
||||
65(@entryPointOutput): 64(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
51(vpos): 8(ptr) Variable Function
|
||||
66(param): 8(ptr) Variable Function
|
||||
54: 7(fvec4) Load 53(vpos)
|
||||
55: 14(fvec3) VectorShuffle 54 54 0 1 2
|
||||
57: 56(ptr) AccessChain 53(vpos) 19
|
||||
58: 6(float) Load 57
|
||||
59: 6(float) FDiv 17 58
|
||||
60: 6(float) CompositeExtract 55 0
|
||||
61: 6(float) CompositeExtract 55 1
|
||||
62: 6(float) CompositeExtract 55 2
|
||||
63: 7(fvec4) CompositeConstruct 60 61 62 59
|
||||
Store 51(vpos) 63
|
||||
67: 7(fvec4) Load 51(vpos)
|
||||
Store 66(param) 67
|
||||
68: 7(fvec4) FunctionCall 11(@main(vf4;) 66(param)
|
||||
Store 65(@entryPointOutput) 68
|
||||
Return
|
||||
FunctionEnd
|
||||
11(@main(vf4;): 7(fvec4) Function None 9
|
||||
10(vpos): 8(ptr) FunctionParameter
|
||||
12: Label
|
||||
13(vpos_t): 8(ptr) Variable Function
|
||||
15: 7(fvec4) Load 10(vpos)
|
||||
16: 14(fvec3) VectorShuffle 15 15 0 1 2
|
||||
21: 20(ptr) AccessChain 10(vpos) 19
|
||||
22: 6(float) Load 21
|
||||
23: 6(float) FDiv 17 22
|
||||
24: 6(float) CompositeExtract 16 0
|
||||
25: 6(float) CompositeExtract 16 1
|
||||
26: 6(float) CompositeExtract 16 2
|
||||
27: 7(fvec4) CompositeConstruct 24 25 26 23
|
||||
Store 13(vpos_t) 27
|
||||
29: 20(ptr) AccessChain 13(vpos_t) 28
|
||||
30: 6(float) Load 29
|
||||
33: 32(bool) FOrdLessThan 30 31
|
||||
SelectionMerge 35 None
|
||||
BranchConditional 33 34 45
|
||||
34: Label
|
||||
42: 41(ptr) AccessChain 38 40
|
||||
43: 7(fvec4) Load 42
|
||||
ReturnValue 43
|
||||
45: Label
|
||||
47: 41(ptr) AccessChain 38 46
|
||||
48: 7(fvec4) Load 47
|
||||
ReturnValue 48
|
||||
35: Label
|
||||
Unreachable
|
||||
FunctionEnd
|
413
Test/baseResults/iomap.blockOutVariableIn.2.vert.out
Normal file
413
Test/baseResults/iomap.blockOutVariableIn.2.vert.out
Normal file
@ -0,0 +1,413 @@
|
||||
iomap.blockOutVariableIn.2.vert
|
||||
Shader version: 440
|
||||
0:? Sequence
|
||||
0:9 Function Definition: main( ( global void)
|
||||
0:9 Function Parameters:
|
||||
0:11 Sequence
|
||||
0:11 move second child to first child ( temp 4-component vector of float)
|
||||
0:11 a1: direct index for structure ( out 4-component vector of float)
|
||||
0:11 'anon@0' (layout( location=0) out block{ out 4-component vector of float a1, out 2-component vector of float a2})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 Constant:
|
||||
0:11 1.000000
|
||||
0:11 1.000000
|
||||
0:11 1.000000
|
||||
0:11 1.000000
|
||||
0:12 move second child to first child ( temp 2-component vector of float)
|
||||
0:12 a2: direct index for structure ( out 2-component vector of float)
|
||||
0:12 'anon@0' (layout( location=0) out block{ out 4-component vector of float a1, out 2-component vector of float a2})
|
||||
0:12 Constant:
|
||||
0:12 1 (const uint)
|
||||
0:12 Constant:
|
||||
0:12 0.500000
|
||||
0:12 0.500000
|
||||
0:13 move second child to first child ( temp 4-component vector of float)
|
||||
0:13 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:13 'anon@1' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:13 Constant:
|
||||
0:13 0 (const uint)
|
||||
0:13 Constant:
|
||||
0:13 1.000000
|
||||
0:13 1.000000
|
||||
0:13 1.000000
|
||||
0:13 1.000000
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout( location=0) out block{ out 4-component vector of float a1, out 2-component vector of float a2})
|
||||
0:? 'anon@1' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
|
||||
iomap.blockOutVariableIn.geom
|
||||
Shader version: 440
|
||||
invocations = -1
|
||||
max_vertices = 3
|
||||
input primitive = triangles
|
||||
output primitive = triangle_strip
|
||||
0:? Sequence
|
||||
0:12 Function Definition: main( ( global void)
|
||||
0:12 Function Parameters:
|
||||
0:14 Sequence
|
||||
0:14 move second child to first child ( temp 4-component vector of float)
|
||||
0:14 'a1' (layout( location=0 stream=0) out 4-component vector of float)
|
||||
0:14 direct index (layout( location=0) temp 4-component vector of float)
|
||||
0:14 'in_a1' (layout( location=0) in 3-element array of 4-component vector of float)
|
||||
0:14 Constant:
|
||||
0:14 0 (const int)
|
||||
0:15 move second child to first child ( temp 2-component vector of float)
|
||||
0:15 'a2' (layout( location=1 stream=0) out 2-component vector of float)
|
||||
0:15 direct index (layout( location=1) temp 2-component vector of float)
|
||||
0:15 'in_a2' (layout( location=1) in 3-element array of 2-component vector of float)
|
||||
0:15 Constant:
|
||||
0:15 0 (const int)
|
||||
0:16 move second child to first child ( temp 4-component vector of float)
|
||||
0:16 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
|
||||
0:16 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:16 Constant:
|
||||
0:16 0 (const uint)
|
||||
0:16 Constant:
|
||||
0:16 1.000000
|
||||
0:16 1.000000
|
||||
0:16 1.000000
|
||||
0:16 1.000000
|
||||
0:17 EmitVertex ( global void)
|
||||
0:19 move second child to first child ( temp 4-component vector of float)
|
||||
0:19 'a1' (layout( location=0 stream=0) out 4-component vector of float)
|
||||
0:19 direct index (layout( location=0) temp 4-component vector of float)
|
||||
0:19 'in_a1' (layout( location=0) in 3-element array of 4-component vector of float)
|
||||
0:19 Constant:
|
||||
0:19 1 (const int)
|
||||
0:20 move second child to first child ( temp 2-component vector of float)
|
||||
0:20 'a2' (layout( location=1 stream=0) out 2-component vector of float)
|
||||
0:20 direct index (layout( location=1) temp 2-component vector of float)
|
||||
0:20 'in_a2' (layout( location=1) in 3-element array of 2-component vector of float)
|
||||
0:20 Constant:
|
||||
0:20 1 (const int)
|
||||
0:21 move second child to first child ( temp 4-component vector of float)
|
||||
0:21 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
|
||||
0:21 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:21 Constant:
|
||||
0:21 0 (const uint)
|
||||
0:21 Constant:
|
||||
0:21 1.000000
|
||||
0:21 1.000000
|
||||
0:21 1.000000
|
||||
0:21 1.000000
|
||||
0:22 EmitVertex ( global void)
|
||||
0:24 move second child to first child ( temp 4-component vector of float)
|
||||
0:24 'a1' (layout( location=0 stream=0) out 4-component vector of float)
|
||||
0:24 direct index (layout( location=0) temp 4-component vector of float)
|
||||
0:24 'in_a1' (layout( location=0) in 3-element array of 4-component vector of float)
|
||||
0:24 Constant:
|
||||
0:24 2 (const int)
|
||||
0:25 move second child to first child ( temp 2-component vector of float)
|
||||
0:25 'a2' (layout( location=1 stream=0) out 2-component vector of float)
|
||||
0:25 direct index (layout( location=1) temp 2-component vector of float)
|
||||
0:25 'in_a2' (layout( location=1) in 3-element array of 2-component vector of float)
|
||||
0:25 Constant:
|
||||
0:25 2 (const int)
|
||||
0:26 move second child to first child ( temp 4-component vector of float)
|
||||
0:26 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
|
||||
0:26 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:26 Constant:
|
||||
0:26 0 (const uint)
|
||||
0:26 Constant:
|
||||
0:26 1.000000
|
||||
0:26 1.000000
|
||||
0:26 1.000000
|
||||
0:26 1.000000
|
||||
0:27 EmitVertex ( global void)
|
||||
0:? Linker Objects
|
||||
0:? 'in_a1' (layout( location=0) in 3-element array of 4-component vector of float)
|
||||
0:? 'in_a2' (layout( location=1) in 3-element array of 2-component vector of float)
|
||||
0:? 'a1' (layout( location=0 stream=0) out 4-component vector of float)
|
||||
0:? 'a2' (layout( location=1 stream=0) out 2-component vector of float)
|
||||
0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
Linked geometry stage:
|
||||
|
||||
|
||||
Shader version: 440
|
||||
0:? Sequence
|
||||
0:9 Function Definition: main( ( global void)
|
||||
0:9 Function Parameters:
|
||||
0:11 Sequence
|
||||
0:11 move second child to first child ( temp 4-component vector of float)
|
||||
0:11 a1: direct index for structure ( out 4-component vector of float)
|
||||
0:11 'anon@0' (layout( location=0) out block{ out 4-component vector of float a1, out 2-component vector of float a2})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 Constant:
|
||||
0:11 1.000000
|
||||
0:11 1.000000
|
||||
0:11 1.000000
|
||||
0:11 1.000000
|
||||
0:12 move second child to first child ( temp 2-component vector of float)
|
||||
0:12 a2: direct index for structure ( out 2-component vector of float)
|
||||
0:12 'anon@0' (layout( location=0) out block{ out 4-component vector of float a1, out 2-component vector of float a2})
|
||||
0:12 Constant:
|
||||
0:12 1 (const uint)
|
||||
0:12 Constant:
|
||||
0:12 0.500000
|
||||
0:12 0.500000
|
||||
0:13 move second child to first child ( temp 4-component vector of float)
|
||||
0:13 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:13 'anon@1' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:13 Constant:
|
||||
0:13 0 (const uint)
|
||||
0:13 Constant:
|
||||
0:13 1.000000
|
||||
0:13 1.000000
|
||||
0:13 1.000000
|
||||
0:13 1.000000
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout( location=0) out block{ out 4-component vector of float a1, out 2-component vector of float a2})
|
||||
0:? 'anon@1' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
Shader version: 440
|
||||
invocations = 1
|
||||
max_vertices = 3
|
||||
input primitive = triangles
|
||||
output primitive = triangle_strip
|
||||
0:? Sequence
|
||||
0:12 Function Definition: main( ( global void)
|
||||
0:12 Function Parameters:
|
||||
0:14 Sequence
|
||||
0:14 move second child to first child ( temp 4-component vector of float)
|
||||
0:14 'a1' (layout( location=0 stream=0) out 4-component vector of float)
|
||||
0:14 direct index (layout( location=0) temp 4-component vector of float)
|
||||
0:14 'in_a1' (layout( location=0) in 3-element array of 4-component vector of float)
|
||||
0:14 Constant:
|
||||
0:14 0 (const int)
|
||||
0:15 move second child to first child ( temp 2-component vector of float)
|
||||
0:15 'a2' (layout( location=1 stream=0) out 2-component vector of float)
|
||||
0:15 direct index (layout( location=1) temp 2-component vector of float)
|
||||
0:15 'in_a2' (layout( location=1) in 3-element array of 2-component vector of float)
|
||||
0:15 Constant:
|
||||
0:15 0 (const int)
|
||||
0:16 move second child to first child ( temp 4-component vector of float)
|
||||
0:16 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
|
||||
0:16 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:16 Constant:
|
||||
0:16 0 (const uint)
|
||||
0:16 Constant:
|
||||
0:16 1.000000
|
||||
0:16 1.000000
|
||||
0:16 1.000000
|
||||
0:16 1.000000
|
||||
0:17 EmitVertex ( global void)
|
||||
0:19 move second child to first child ( temp 4-component vector of float)
|
||||
0:19 'a1' (layout( location=0 stream=0) out 4-component vector of float)
|
||||
0:19 direct index (layout( location=0) temp 4-component vector of float)
|
||||
0:19 'in_a1' (layout( location=0) in 3-element array of 4-component vector of float)
|
||||
0:19 Constant:
|
||||
0:19 1 (const int)
|
||||
0:20 move second child to first child ( temp 2-component vector of float)
|
||||
0:20 'a2' (layout( location=1 stream=0) out 2-component vector of float)
|
||||
0:20 direct index (layout( location=1) temp 2-component vector of float)
|
||||
0:20 'in_a2' (layout( location=1) in 3-element array of 2-component vector of float)
|
||||
0:20 Constant:
|
||||
0:20 1 (const int)
|
||||
0:21 move second child to first child ( temp 4-component vector of float)
|
||||
0:21 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
|
||||
0:21 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:21 Constant:
|
||||
0:21 0 (const uint)
|
||||
0:21 Constant:
|
||||
0:21 1.000000
|
||||
0:21 1.000000
|
||||
0:21 1.000000
|
||||
0:21 1.000000
|
||||
0:22 EmitVertex ( global void)
|
||||
0:24 move second child to first child ( temp 4-component vector of float)
|
||||
0:24 'a1' (layout( location=0 stream=0) out 4-component vector of float)
|
||||
0:24 direct index (layout( location=0) temp 4-component vector of float)
|
||||
0:24 'in_a1' (layout( location=0) in 3-element array of 4-component vector of float)
|
||||
0:24 Constant:
|
||||
0:24 2 (const int)
|
||||
0:25 move second child to first child ( temp 2-component vector of float)
|
||||
0:25 'a2' (layout( location=1 stream=0) out 2-component vector of float)
|
||||
0:25 direct index (layout( location=1) temp 2-component vector of float)
|
||||
0:25 'in_a2' (layout( location=1) in 3-element array of 2-component vector of float)
|
||||
0:25 Constant:
|
||||
0:25 2 (const int)
|
||||
0:26 move second child to first child ( temp 4-component vector of float)
|
||||
0:26 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
|
||||
0:26 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:26 Constant:
|
||||
0:26 0 (const uint)
|
||||
0:26 Constant:
|
||||
0:26 1.000000
|
||||
0:26 1.000000
|
||||
0:26 1.000000
|
||||
0:26 1.000000
|
||||
0:27 EmitVertex ( global void)
|
||||
0:? Linker Objects
|
||||
0:? 'in_a1' (layout( location=0) in 3-element array of 4-component vector of float)
|
||||
0:? 'in_a2' (layout( location=1) in 3-element array of 2-component vector of float)
|
||||
0:? 'a1' (layout( location=0 stream=0) out 4-component vector of float)
|
||||
0:? 'a2' (layout( location=1 stream=0) out 2-component vector of float)
|
||||
0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 33
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4 "main" 11 28 31 32
|
||||
Source GLSL 440
|
||||
Name 4 "main"
|
||||
Name 9 "Block"
|
||||
MemberName 9(Block) 0 "a1"
|
||||
MemberName 9(Block) 1 "a2"
|
||||
Name 11 ""
|
||||
Name 26 "gl_PerVertex"
|
||||
MemberName 26(gl_PerVertex) 0 "gl_Position"
|
||||
MemberName 26(gl_PerVertex) 1 "gl_PointSize"
|
||||
MemberName 26(gl_PerVertex) 2 "gl_ClipDistance"
|
||||
Name 28 ""
|
||||
Name 31 "gl_VertexID"
|
||||
Name 32 "gl_InstanceID"
|
||||
Decorate 9(Block) Block
|
||||
Decorate 11 Location 0
|
||||
MemberDecorate 26(gl_PerVertex) 0 BuiltIn Position
|
||||
MemberDecorate 26(gl_PerVertex) 1 BuiltIn PointSize
|
||||
MemberDecorate 26(gl_PerVertex) 2 BuiltIn ClipDistance
|
||||
Decorate 26(gl_PerVertex) Block
|
||||
Decorate 31(gl_VertexID) BuiltIn VertexId
|
||||
Decorate 32(gl_InstanceID) BuiltIn InstanceId
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypeVector 6(float) 2
|
||||
9(Block): TypeStruct 7(fvec4) 8(fvec2)
|
||||
10: TypePointer Output 9(Block)
|
||||
11: 10(ptr) Variable Output
|
||||
12: TypeInt 32 1
|
||||
13: 12(int) Constant 0
|
||||
14: 6(float) Constant 1065353216
|
||||
15: 7(fvec4) ConstantComposite 14 14 14 14
|
||||
16: TypePointer Output 7(fvec4)
|
||||
18: 12(int) Constant 1
|
||||
19: 6(float) Constant 1056964608
|
||||
20: 8(fvec2) ConstantComposite 19 19
|
||||
21: TypePointer Output 8(fvec2)
|
||||
23: TypeInt 32 0
|
||||
24: 23(int) Constant 1
|
||||
25: TypeArray 6(float) 24
|
||||
26(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 25
|
||||
27: TypePointer Output 26(gl_PerVertex)
|
||||
28: 27(ptr) Variable Output
|
||||
30: TypePointer Input 12(int)
|
||||
31(gl_VertexID): 30(ptr) Variable Input
|
||||
32(gl_InstanceID): 30(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
17: 16(ptr) AccessChain 11 13
|
||||
Store 17 15
|
||||
22: 21(ptr) AccessChain 11 18
|
||||
Store 22 20
|
||||
29: 16(ptr) AccessChain 28 13
|
||||
Store 29 15
|
||||
Return
|
||||
FunctionEnd
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 49
|
||||
|
||||
Capability Geometry
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Geometry 4 "main" 9 14 22 25 33
|
||||
ExecutionMode 4 Triangles
|
||||
ExecutionMode 4 Invocations 1
|
||||
ExecutionMode 4 OutputTriangleStrip
|
||||
ExecutionMode 4 OutputVertices 3
|
||||
Source GLSL 440
|
||||
Name 4 "main"
|
||||
Name 9 "a1"
|
||||
Name 14 "in_a1"
|
||||
Name 22 "a2"
|
||||
Name 25 "in_a2"
|
||||
Name 31 "gl_PerVertex"
|
||||
MemberName 31(gl_PerVertex) 0 "gl_Position"
|
||||
MemberName 31(gl_PerVertex) 1 "gl_PointSize"
|
||||
MemberName 31(gl_PerVertex) 2 "gl_ClipDistance"
|
||||
Name 33 ""
|
||||
Decorate 9(a1) Location 0
|
||||
Decorate 14(in_a1) Location 0
|
||||
Decorate 22(a2) Location 1
|
||||
Decorate 25(in_a2) Location 1
|
||||
MemberDecorate 31(gl_PerVertex) 0 BuiltIn Position
|
||||
MemberDecorate 31(gl_PerVertex) 1 BuiltIn PointSize
|
||||
MemberDecorate 31(gl_PerVertex) 2 BuiltIn ClipDistance
|
||||
Decorate 31(gl_PerVertex) Block
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypePointer Output 7(fvec4)
|
||||
9(a1): 8(ptr) Variable Output
|
||||
10: TypeInt 32 0
|
||||
11: 10(int) Constant 3
|
||||
12: TypeArray 7(fvec4) 11
|
||||
13: TypePointer Input 12
|
||||
14(in_a1): 13(ptr) Variable Input
|
||||
15: TypeInt 32 1
|
||||
16: 15(int) Constant 0
|
||||
17: TypePointer Input 7(fvec4)
|
||||
20: TypeVector 6(float) 2
|
||||
21: TypePointer Output 20(fvec2)
|
||||
22(a2): 21(ptr) Variable Output
|
||||
23: TypeArray 20(fvec2) 11
|
||||
24: TypePointer Input 23
|
||||
25(in_a2): 24(ptr) Variable Input
|
||||
26: TypePointer Input 20(fvec2)
|
||||
29: 10(int) Constant 1
|
||||
30: TypeArray 6(float) 29
|
||||
31(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 30
|
||||
32: TypePointer Output 31(gl_PerVertex)
|
||||
33: 32(ptr) Variable Output
|
||||
34: 6(float) Constant 1065353216
|
||||
35: 7(fvec4) ConstantComposite 34 34 34 34
|
||||
37: 15(int) Constant 1
|
||||
43: 15(int) Constant 2
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
18: 17(ptr) AccessChain 14(in_a1) 16
|
||||
19: 7(fvec4) Load 18
|
||||
Store 9(a1) 19
|
||||
27: 26(ptr) AccessChain 25(in_a2) 16
|
||||
28: 20(fvec2) Load 27
|
||||
Store 22(a2) 28
|
||||
36: 8(ptr) AccessChain 33 16
|
||||
Store 36 35
|
||||
EmitVertex
|
||||
38: 17(ptr) AccessChain 14(in_a1) 37
|
||||
39: 7(fvec4) Load 38
|
||||
Store 9(a1) 39
|
||||
40: 26(ptr) AccessChain 25(in_a2) 37
|
||||
41: 20(fvec2) Load 40
|
||||
Store 22(a2) 41
|
||||
42: 8(ptr) AccessChain 33 16
|
||||
Store 42 35
|
||||
EmitVertex
|
||||
44: 17(ptr) AccessChain 14(in_a1) 43
|
||||
45: 7(fvec4) Load 44
|
||||
Store 9(a1) 45
|
||||
46: 26(ptr) AccessChain 25(in_a2) 43
|
||||
47: 20(fvec2) Load 46
|
||||
Store 22(a2) 47
|
||||
48: 8(ptr) AccessChain 33 16
|
||||
Store 48 35
|
||||
EmitVertex
|
||||
Return
|
||||
FunctionEnd
|
234
Test/baseResults/iomap.blockOutVariableIn.vert.out
Normal file
234
Test/baseResults/iomap.blockOutVariableIn.vert.out
Normal file
@ -0,0 +1,234 @@
|
||||
iomap.blockOutVariableIn.vert
|
||||
Shader version: 440
|
||||
0:? Sequence
|
||||
0:9 Function Definition: main( ( global void)
|
||||
0:9 Function Parameters:
|
||||
0:11 Sequence
|
||||
0:11 move second child to first child ( temp 4-component vector of float)
|
||||
0:11 a1: direct index for structure ( out 4-component vector of float)
|
||||
0:11 'anon@0' (layout( location=0) out block{ out 4-component vector of float a1, out 2-component vector of float a2})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 Constant:
|
||||
0:11 1.000000
|
||||
0:11 1.000000
|
||||
0:11 1.000000
|
||||
0:11 1.000000
|
||||
0:12 move second child to first child ( temp 2-component vector of float)
|
||||
0:12 a2: direct index for structure ( out 2-component vector of float)
|
||||
0:12 'anon@0' (layout( location=0) out block{ out 4-component vector of float a1, out 2-component vector of float a2})
|
||||
0:12 Constant:
|
||||
0:12 1 (const uint)
|
||||
0:12 Constant:
|
||||
0:12 0.500000
|
||||
0:12 0.500000
|
||||
0:13 move second child to first child ( temp 4-component vector of float)
|
||||
0:13 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:13 'anon@1' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:13 Constant:
|
||||
0:13 0 (const uint)
|
||||
0:13 Constant:
|
||||
0:13 1.000000
|
||||
0:13 1.000000
|
||||
0:13 1.000000
|
||||
0:13 1.000000
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout( location=0) out block{ out 4-component vector of float a1, out 2-component vector of float a2})
|
||||
0:? 'anon@1' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
|
||||
iomap.blockOutVariableIn.frag
|
||||
Shader version: 440
|
||||
0:? Sequence
|
||||
0:8 Function Definition: main( ( global void)
|
||||
0:8 Function Parameters:
|
||||
0:10 Sequence
|
||||
0:10 move second child to first child ( temp 4-component vector of float)
|
||||
0:10 'color' (layout( location=0) out 4-component vector of float)
|
||||
0:10 Construct vec4 ( temp 4-component vector of float)
|
||||
0:10 vector swizzle ( temp 2-component vector of float)
|
||||
0:10 'a1' (layout( location=0) smooth in 4-component vector of float)
|
||||
0:10 Sequence
|
||||
0:10 Constant:
|
||||
0:10 0 (const int)
|
||||
0:10 Constant:
|
||||
0:10 1 (const int)
|
||||
0:10 'a2' (layout( location=1) smooth in 2-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'a1' (layout( location=0) smooth in 4-component vector of float)
|
||||
0:? 'a2' (layout( location=1) smooth in 2-component vector of float)
|
||||
0:? 'color' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 440
|
||||
0:? Sequence
|
||||
0:9 Function Definition: main( ( global void)
|
||||
0:9 Function Parameters:
|
||||
0:11 Sequence
|
||||
0:11 move second child to first child ( temp 4-component vector of float)
|
||||
0:11 a1: direct index for structure ( out 4-component vector of float)
|
||||
0:11 'anon@0' (layout( location=0) out block{ out 4-component vector of float a1, out 2-component vector of float a2})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 Constant:
|
||||
0:11 1.000000
|
||||
0:11 1.000000
|
||||
0:11 1.000000
|
||||
0:11 1.000000
|
||||
0:12 move second child to first child ( temp 2-component vector of float)
|
||||
0:12 a2: direct index for structure ( out 2-component vector of float)
|
||||
0:12 'anon@0' (layout( location=0) out block{ out 4-component vector of float a1, out 2-component vector of float a2})
|
||||
0:12 Constant:
|
||||
0:12 1 (const uint)
|
||||
0:12 Constant:
|
||||
0:12 0.500000
|
||||
0:12 0.500000
|
||||
0:13 move second child to first child ( temp 4-component vector of float)
|
||||
0:13 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:13 'anon@1' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:13 Constant:
|
||||
0:13 0 (const uint)
|
||||
0:13 Constant:
|
||||
0:13 1.000000
|
||||
0:13 1.000000
|
||||
0:13 1.000000
|
||||
0:13 1.000000
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout( location=0) out block{ out 4-component vector of float a1, out 2-component vector of float a2})
|
||||
0:? 'anon@1' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
Shader version: 440
|
||||
0:? Sequence
|
||||
0:8 Function Definition: main( ( global void)
|
||||
0:8 Function Parameters:
|
||||
0:10 Sequence
|
||||
0:10 move second child to first child ( temp 4-component vector of float)
|
||||
0:10 'color' (layout( location=0) out 4-component vector of float)
|
||||
0:10 Construct vec4 ( temp 4-component vector of float)
|
||||
0:10 vector swizzle ( temp 2-component vector of float)
|
||||
0:10 'a1' (layout( location=0) smooth in 4-component vector of float)
|
||||
0:10 Sequence
|
||||
0:10 Constant:
|
||||
0:10 0 (const int)
|
||||
0:10 Constant:
|
||||
0:10 1 (const int)
|
||||
0:10 'a2' (layout( location=1) smooth in 2-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'a1' (layout( location=0) smooth in 4-component vector of float)
|
||||
0:? 'a2' (layout( location=1) smooth in 2-component vector of float)
|
||||
0:? 'color' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 33
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4 "main" 11 28 31 32
|
||||
Source GLSL 440
|
||||
Name 4 "main"
|
||||
Name 9 "Block"
|
||||
MemberName 9(Block) 0 "a1"
|
||||
MemberName 9(Block) 1 "a2"
|
||||
Name 11 ""
|
||||
Name 26 "gl_PerVertex"
|
||||
MemberName 26(gl_PerVertex) 0 "gl_Position"
|
||||
MemberName 26(gl_PerVertex) 1 "gl_PointSize"
|
||||
MemberName 26(gl_PerVertex) 2 "gl_ClipDistance"
|
||||
Name 28 ""
|
||||
Name 31 "gl_VertexID"
|
||||
Name 32 "gl_InstanceID"
|
||||
Decorate 9(Block) Block
|
||||
Decorate 11 Location 0
|
||||
MemberDecorate 26(gl_PerVertex) 0 BuiltIn Position
|
||||
MemberDecorate 26(gl_PerVertex) 1 BuiltIn PointSize
|
||||
MemberDecorate 26(gl_PerVertex) 2 BuiltIn ClipDistance
|
||||
Decorate 26(gl_PerVertex) Block
|
||||
Decorate 31(gl_VertexID) BuiltIn VertexId
|
||||
Decorate 32(gl_InstanceID) BuiltIn InstanceId
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypeVector 6(float) 2
|
||||
9(Block): TypeStruct 7(fvec4) 8(fvec2)
|
||||
10: TypePointer Output 9(Block)
|
||||
11: 10(ptr) Variable Output
|
||||
12: TypeInt 32 1
|
||||
13: 12(int) Constant 0
|
||||
14: 6(float) Constant 1065353216
|
||||
15: 7(fvec4) ConstantComposite 14 14 14 14
|
||||
16: TypePointer Output 7(fvec4)
|
||||
18: 12(int) Constant 1
|
||||
19: 6(float) Constant 1056964608
|
||||
20: 8(fvec2) ConstantComposite 19 19
|
||||
21: TypePointer Output 8(fvec2)
|
||||
23: TypeInt 32 0
|
||||
24: 23(int) Constant 1
|
||||
25: TypeArray 6(float) 24
|
||||
26(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 25
|
||||
27: TypePointer Output 26(gl_PerVertex)
|
||||
28: 27(ptr) Variable Output
|
||||
30: TypePointer Input 12(int)
|
||||
31(gl_VertexID): 30(ptr) Variable Input
|
||||
32(gl_InstanceID): 30(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
17: 16(ptr) AccessChain 11 13
|
||||
Store 17 15
|
||||
22: 21(ptr) AccessChain 11 18
|
||||
Store 22 20
|
||||
29: 16(ptr) AccessChain 28 13
|
||||
Store 29 15
|
||||
Return
|
||||
FunctionEnd
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 23
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 9 11 16
|
||||
ExecutionMode 4 OriginLowerLeft
|
||||
Source GLSL 440
|
||||
Name 4 "main"
|
||||
Name 9 "color"
|
||||
Name 11 "a1"
|
||||
Name 16 "a2"
|
||||
Decorate 9(color) Location 0
|
||||
Decorate 11(a1) Location 0
|
||||
Decorate 16(a2) Location 1
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypePointer Output 7(fvec4)
|
||||
9(color): 8(ptr) Variable Output
|
||||
10: TypePointer Input 7(fvec4)
|
||||
11(a1): 10(ptr) Variable Input
|
||||
12: TypeVector 6(float) 2
|
||||
15: TypePointer Input 12(fvec2)
|
||||
16(a2): 15(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
13: 7(fvec4) Load 11(a1)
|
||||
14: 12(fvec2) VectorShuffle 13 13 0 1
|
||||
17: 12(fvec2) Load 16(a2)
|
||||
18: 6(float) CompositeExtract 14 0
|
||||
19: 6(float) CompositeExtract 14 1
|
||||
20: 6(float) CompositeExtract 17 0
|
||||
21: 6(float) CompositeExtract 17 1
|
||||
22: 7(fvec4) CompositeConstruct 18 19 20 21
|
||||
Store 9(color) 22
|
||||
Return
|
||||
FunctionEnd
|
276
Test/baseResults/iomap.variableOutBlockIn.2.vert.out
Normal file
276
Test/baseResults/iomap.variableOutBlockIn.2.vert.out
Normal file
@ -0,0 +1,276 @@
|
||||
iomap.variableOutBlockIn.2.vert
|
||||
Shader version: 440
|
||||
0:? Sequence
|
||||
0:6 Function Definition: main( ( global void)
|
||||
0:6 Function Parameters:
|
||||
0:8 Sequence
|
||||
0:8 move second child to first child ( temp 4-component vector of float)
|
||||
0:8 'a1' (layout( location=0) smooth out 4-component vector of float)
|
||||
0:8 Constant:
|
||||
0:8 1.000000
|
||||
0:8 1.000000
|
||||
0:8 1.000000
|
||||
0:8 1.000000
|
||||
0:9 move second child to first child ( temp 2-component vector of float)
|
||||
0:9 'a2' (layout( location=1) smooth out 2-component vector of float)
|
||||
0:9 Constant:
|
||||
0:9 0.500000
|
||||
0:9 0.500000
|
||||
0:10 move second child to first child ( temp 4-component vector of float)
|
||||
0:10 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:10 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 Constant:
|
||||
0:10 1.000000
|
||||
0:10 1.000000
|
||||
0:10 1.000000
|
||||
0:10 1.000000
|
||||
0:? Linker Objects
|
||||
0:? 'a1' (layout( location=0) smooth out 4-component vector of float)
|
||||
0:? 'a2' (layout( location=1) smooth out 2-component vector of float)
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
|
||||
iomap.variableOutBlockIn.geom
|
||||
Shader version: 440
|
||||
invocations = -1
|
||||
max_vertices = 3
|
||||
input primitive = triangles
|
||||
output primitive = triangle_strip
|
||||
0:? Sequence
|
||||
0:14 Function Definition: main( ( global void)
|
||||
0:14 Function Parameters:
|
||||
0:16 Sequence
|
||||
0:16 move second child to first child ( temp 4-component vector of float)
|
||||
0:16 'a1' (layout( location=0 stream=0) out 4-component vector of float)
|
||||
0:16 Constant:
|
||||
0:16 1.000000
|
||||
0:16 1.000000
|
||||
0:16 1.000000
|
||||
0:16 1.000000
|
||||
0:17 move second child to first child ( temp 2-component vector of float)
|
||||
0:17 'a2' (layout( location=1 stream=0) out 2-component vector of float)
|
||||
0:17 Constant:
|
||||
0:17 0.500000
|
||||
0:17 0.500000
|
||||
0:18 move second child to first child ( temp 4-component vector of float)
|
||||
0:18 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
|
||||
0:18 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:18 Constant:
|
||||
0:18 0 (const uint)
|
||||
0:18 Constant:
|
||||
0:18 1.000000
|
||||
0:18 1.000000
|
||||
0:18 1.000000
|
||||
0:18 1.000000
|
||||
0:? Linker Objects
|
||||
0:? 'gin' (layout( location=0) in 3-element array of block{ in 4-component vector of float a1, in 2-component vector of float a2})
|
||||
0:? 'a1' (layout( location=0 stream=0) out 4-component vector of float)
|
||||
0:? 'a2' (layout( location=1 stream=0) out 2-component vector of float)
|
||||
0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
Linked geometry stage:
|
||||
|
||||
|
||||
Shader version: 440
|
||||
0:? Sequence
|
||||
0:6 Function Definition: main( ( global void)
|
||||
0:6 Function Parameters:
|
||||
0:8 Sequence
|
||||
0:8 move second child to first child ( temp 4-component vector of float)
|
||||
0:8 'a1' (layout( location=0) smooth out 4-component vector of float)
|
||||
0:8 Constant:
|
||||
0:8 1.000000
|
||||
0:8 1.000000
|
||||
0:8 1.000000
|
||||
0:8 1.000000
|
||||
0:9 move second child to first child ( temp 2-component vector of float)
|
||||
0:9 'a2' (layout( location=1) smooth out 2-component vector of float)
|
||||
0:9 Constant:
|
||||
0:9 0.500000
|
||||
0:9 0.500000
|
||||
0:10 move second child to first child ( temp 4-component vector of float)
|
||||
0:10 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:10 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 Constant:
|
||||
0:10 1.000000
|
||||
0:10 1.000000
|
||||
0:10 1.000000
|
||||
0:10 1.000000
|
||||
0:? Linker Objects
|
||||
0:? 'a1' (layout( location=0) smooth out 4-component vector of float)
|
||||
0:? 'a2' (layout( location=1) smooth out 2-component vector of float)
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
Shader version: 440
|
||||
invocations = 1
|
||||
max_vertices = 3
|
||||
input primitive = triangles
|
||||
output primitive = triangle_strip
|
||||
0:? Sequence
|
||||
0:14 Function Definition: main( ( global void)
|
||||
0:14 Function Parameters:
|
||||
0:16 Sequence
|
||||
0:16 move second child to first child ( temp 4-component vector of float)
|
||||
0:16 'a1' (layout( location=0 stream=0) out 4-component vector of float)
|
||||
0:16 Constant:
|
||||
0:16 1.000000
|
||||
0:16 1.000000
|
||||
0:16 1.000000
|
||||
0:16 1.000000
|
||||
0:17 move second child to first child ( temp 2-component vector of float)
|
||||
0:17 'a2' (layout( location=1 stream=0) out 2-component vector of float)
|
||||
0:17 Constant:
|
||||
0:17 0.500000
|
||||
0:17 0.500000
|
||||
0:18 move second child to first child ( temp 4-component vector of float)
|
||||
0:18 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
|
||||
0:18 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:18 Constant:
|
||||
0:18 0 (const uint)
|
||||
0:18 Constant:
|
||||
0:18 1.000000
|
||||
0:18 1.000000
|
||||
0:18 1.000000
|
||||
0:18 1.000000
|
||||
0:? Linker Objects
|
||||
0:? 'gin' (layout( location=0) in 3-element array of block{ in 4-component vector of float a1, in 2-component vector of float a2})
|
||||
0:? 'a1' (layout( location=0 stream=0) out 4-component vector of float)
|
||||
0:? 'a2' (layout( location=1 stream=0) out 2-component vector of float)
|
||||
0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 29
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4 "main" 9 14 22 27 28
|
||||
Source GLSL 440
|
||||
Name 4 "main"
|
||||
Name 9 "a1"
|
||||
Name 14 "a2"
|
||||
Name 20 "gl_PerVertex"
|
||||
MemberName 20(gl_PerVertex) 0 "gl_Position"
|
||||
MemberName 20(gl_PerVertex) 1 "gl_PointSize"
|
||||
MemberName 20(gl_PerVertex) 2 "gl_ClipDistance"
|
||||
Name 22 ""
|
||||
Name 27 "gl_VertexID"
|
||||
Name 28 "gl_InstanceID"
|
||||
Decorate 9(a1) Location 0
|
||||
Decorate 14(a2) Location 1
|
||||
MemberDecorate 20(gl_PerVertex) 0 BuiltIn Position
|
||||
MemberDecorate 20(gl_PerVertex) 1 BuiltIn PointSize
|
||||
MemberDecorate 20(gl_PerVertex) 2 BuiltIn ClipDistance
|
||||
Decorate 20(gl_PerVertex) Block
|
||||
Decorate 27(gl_VertexID) BuiltIn VertexId
|
||||
Decorate 28(gl_InstanceID) BuiltIn InstanceId
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypePointer Output 7(fvec4)
|
||||
9(a1): 8(ptr) Variable Output
|
||||
10: 6(float) Constant 1065353216
|
||||
11: 7(fvec4) ConstantComposite 10 10 10 10
|
||||
12: TypeVector 6(float) 2
|
||||
13: TypePointer Output 12(fvec2)
|
||||
14(a2): 13(ptr) Variable Output
|
||||
15: 6(float) Constant 1056964608
|
||||
16: 12(fvec2) ConstantComposite 15 15
|
||||
17: TypeInt 32 0
|
||||
18: 17(int) Constant 1
|
||||
19: TypeArray 6(float) 18
|
||||
20(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 19
|
||||
21: TypePointer Output 20(gl_PerVertex)
|
||||
22: 21(ptr) Variable Output
|
||||
23: TypeInt 32 1
|
||||
24: 23(int) Constant 0
|
||||
26: TypePointer Input 23(int)
|
||||
27(gl_VertexID): 26(ptr) Variable Input
|
||||
28(gl_InstanceID): 26(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
Store 9(a1) 11
|
||||
Store 14(a2) 16
|
||||
25: 8(ptr) AccessChain 22 24
|
||||
Store 25 11
|
||||
Return
|
||||
FunctionEnd
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 31
|
||||
|
||||
Capability Geometry
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Geometry 4 "main" 9 14 22 30
|
||||
ExecutionMode 4 Triangles
|
||||
ExecutionMode 4 Invocations 1
|
||||
ExecutionMode 4 OutputTriangleStrip
|
||||
ExecutionMode 4 OutputVertices 3
|
||||
Source GLSL 440
|
||||
Name 4 "main"
|
||||
Name 9 "a1"
|
||||
Name 14 "a2"
|
||||
Name 20 "gl_PerVertex"
|
||||
MemberName 20(gl_PerVertex) 0 "gl_Position"
|
||||
MemberName 20(gl_PerVertex) 1 "gl_PointSize"
|
||||
MemberName 20(gl_PerVertex) 2 "gl_ClipDistance"
|
||||
Name 22 ""
|
||||
Name 26 "Inputs"
|
||||
MemberName 26(Inputs) 0 "a1"
|
||||
MemberName 26(Inputs) 1 "a2"
|
||||
Name 30 "gin"
|
||||
Decorate 9(a1) Location 0
|
||||
Decorate 14(a2) Location 1
|
||||
MemberDecorate 20(gl_PerVertex) 0 BuiltIn Position
|
||||
MemberDecorate 20(gl_PerVertex) 1 BuiltIn PointSize
|
||||
MemberDecorate 20(gl_PerVertex) 2 BuiltIn ClipDistance
|
||||
Decorate 20(gl_PerVertex) Block
|
||||
Decorate 26(Inputs) Block
|
||||
Decorate 30(gin) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypePointer Output 7(fvec4)
|
||||
9(a1): 8(ptr) Variable Output
|
||||
10: 6(float) Constant 1065353216
|
||||
11: 7(fvec4) ConstantComposite 10 10 10 10
|
||||
12: TypeVector 6(float) 2
|
||||
13: TypePointer Output 12(fvec2)
|
||||
14(a2): 13(ptr) Variable Output
|
||||
15: 6(float) Constant 1056964608
|
||||
16: 12(fvec2) ConstantComposite 15 15
|
||||
17: TypeInt 32 0
|
||||
18: 17(int) Constant 1
|
||||
19: TypeArray 6(float) 18
|
||||
20(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 19
|
||||
21: TypePointer Output 20(gl_PerVertex)
|
||||
22: 21(ptr) Variable Output
|
||||
23: TypeInt 32 1
|
||||
24: 23(int) Constant 0
|
||||
26(Inputs): TypeStruct 7(fvec4) 12(fvec2)
|
||||
27: 17(int) Constant 3
|
||||
28: TypeArray 26(Inputs) 27
|
||||
29: TypePointer Input 28
|
||||
30(gin): 29(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
Store 9(a1) 11
|
||||
Store 14(a2) 16
|
||||
25: 8(ptr) AccessChain 22 24
|
||||
Store 25 11
|
||||
Return
|
||||
FunctionEnd
|
236
Test/baseResults/iomap.variableOutBlockIn.vert.out
Normal file
236
Test/baseResults/iomap.variableOutBlockIn.vert.out
Normal file
@ -0,0 +1,236 @@
|
||||
iomap.variableOutBlockIn.vert
|
||||
Shader version: 440
|
||||
0:? Sequence
|
||||
0:6 Function Definition: main( ( global void)
|
||||
0:6 Function Parameters:
|
||||
0:8 Sequence
|
||||
0:8 move second child to first child ( temp 4-component vector of float)
|
||||
0:8 'a1' (layout( location=0) smooth out 4-component vector of float)
|
||||
0:8 Constant:
|
||||
0:8 1.000000
|
||||
0:8 1.000000
|
||||
0:8 1.000000
|
||||
0:8 1.000000
|
||||
0:9 move second child to first child ( temp 2-component vector of float)
|
||||
0:9 'a2' (layout( location=1) smooth out 2-component vector of float)
|
||||
0:9 Constant:
|
||||
0:9 0.500000
|
||||
0:9 0.500000
|
||||
0:10 move second child to first child ( temp 4-component vector of float)
|
||||
0:10 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:10 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 Constant:
|
||||
0:10 1.000000
|
||||
0:10 1.000000
|
||||
0:10 1.000000
|
||||
0:10 1.000000
|
||||
0:? Linker Objects
|
||||
0:? 'a1' (layout( location=0) smooth out 4-component vector of float)
|
||||
0:? 'a2' (layout( location=1) smooth out 2-component vector of float)
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
|
||||
iomap.variableOutBlockIn.frag
|
||||
Shader version: 440
|
||||
0:? Sequence
|
||||
0:10 Function Definition: main( ( global void)
|
||||
0:10 Function Parameters:
|
||||
0:12 Sequence
|
||||
0:12 move second child to first child ( temp 4-component vector of float)
|
||||
0:12 'color' (layout( location=0) out 4-component vector of float)
|
||||
0:12 Construct vec4 ( temp 4-component vector of float)
|
||||
0:12 vector swizzle ( temp 2-component vector of float)
|
||||
0:12 a1: direct index for structure ( in 4-component vector of float)
|
||||
0:12 'anon@0' (layout( location=0) in block{ in 4-component vector of float a1, in 2-component vector of float a2})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 Sequence
|
||||
0:12 Constant:
|
||||
0:12 0 (const int)
|
||||
0:12 Constant:
|
||||
0:12 1 (const int)
|
||||
0:12 a2: direct index for structure ( in 2-component vector of float)
|
||||
0:12 'anon@0' (layout( location=0) in block{ in 4-component vector of float a1, in 2-component vector of float a2})
|
||||
0:12 Constant:
|
||||
0:12 1 (const uint)
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout( location=0) in block{ in 4-component vector of float a1, in 2-component vector of float a2})
|
||||
0:? 'color' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 440
|
||||
0:? Sequence
|
||||
0:6 Function Definition: main( ( global void)
|
||||
0:6 Function Parameters:
|
||||
0:8 Sequence
|
||||
0:8 move second child to first child ( temp 4-component vector of float)
|
||||
0:8 'a1' (layout( location=0) smooth out 4-component vector of float)
|
||||
0:8 Constant:
|
||||
0:8 1.000000
|
||||
0:8 1.000000
|
||||
0:8 1.000000
|
||||
0:8 1.000000
|
||||
0:9 move second child to first child ( temp 2-component vector of float)
|
||||
0:9 'a2' (layout( location=1) smooth out 2-component vector of float)
|
||||
0:9 Constant:
|
||||
0:9 0.500000
|
||||
0:9 0.500000
|
||||
0:10 move second child to first child ( temp 4-component vector of float)
|
||||
0:10 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:10 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 Constant:
|
||||
0:10 1.000000
|
||||
0:10 1.000000
|
||||
0:10 1.000000
|
||||
0:10 1.000000
|
||||
0:? Linker Objects
|
||||
0:? 'a1' (layout( location=0) smooth out 4-component vector of float)
|
||||
0:? 'a2' (layout( location=1) smooth out 2-component vector of float)
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
Shader version: 440
|
||||
0:? Sequence
|
||||
0:10 Function Definition: main( ( global void)
|
||||
0:10 Function Parameters:
|
||||
0:12 Sequence
|
||||
0:12 move second child to first child ( temp 4-component vector of float)
|
||||
0:12 'color' (layout( location=0) out 4-component vector of float)
|
||||
0:12 Construct vec4 ( temp 4-component vector of float)
|
||||
0:12 vector swizzle ( temp 2-component vector of float)
|
||||
0:12 a1: direct index for structure ( in 4-component vector of float)
|
||||
0:12 'anon@0' (layout( location=0) in block{ in 4-component vector of float a1, in 2-component vector of float a2})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 Sequence
|
||||
0:12 Constant:
|
||||
0:12 0 (const int)
|
||||
0:12 Constant:
|
||||
0:12 1 (const int)
|
||||
0:12 a2: direct index for structure ( in 2-component vector of float)
|
||||
0:12 'anon@0' (layout( location=0) in block{ in 4-component vector of float a1, in 2-component vector of float a2})
|
||||
0:12 Constant:
|
||||
0:12 1 (const uint)
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout( location=0) in block{ in 4-component vector of float a1, in 2-component vector of float a2})
|
||||
0:? 'color' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 29
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4 "main" 9 14 22 27 28
|
||||
Source GLSL 440
|
||||
Name 4 "main"
|
||||
Name 9 "a1"
|
||||
Name 14 "a2"
|
||||
Name 20 "gl_PerVertex"
|
||||
MemberName 20(gl_PerVertex) 0 "gl_Position"
|
||||
MemberName 20(gl_PerVertex) 1 "gl_PointSize"
|
||||
MemberName 20(gl_PerVertex) 2 "gl_ClipDistance"
|
||||
Name 22 ""
|
||||
Name 27 "gl_VertexID"
|
||||
Name 28 "gl_InstanceID"
|
||||
Decorate 9(a1) Location 0
|
||||
Decorate 14(a2) Location 1
|
||||
MemberDecorate 20(gl_PerVertex) 0 BuiltIn Position
|
||||
MemberDecorate 20(gl_PerVertex) 1 BuiltIn PointSize
|
||||
MemberDecorate 20(gl_PerVertex) 2 BuiltIn ClipDistance
|
||||
Decorate 20(gl_PerVertex) Block
|
||||
Decorate 27(gl_VertexID) BuiltIn VertexId
|
||||
Decorate 28(gl_InstanceID) BuiltIn InstanceId
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypePointer Output 7(fvec4)
|
||||
9(a1): 8(ptr) Variable Output
|
||||
10: 6(float) Constant 1065353216
|
||||
11: 7(fvec4) ConstantComposite 10 10 10 10
|
||||
12: TypeVector 6(float) 2
|
||||
13: TypePointer Output 12(fvec2)
|
||||
14(a2): 13(ptr) Variable Output
|
||||
15: 6(float) Constant 1056964608
|
||||
16: 12(fvec2) ConstantComposite 15 15
|
||||
17: TypeInt 32 0
|
||||
18: 17(int) Constant 1
|
||||
19: TypeArray 6(float) 18
|
||||
20(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 19
|
||||
21: TypePointer Output 20(gl_PerVertex)
|
||||
22: 21(ptr) Variable Output
|
||||
23: TypeInt 32 1
|
||||
24: 23(int) Constant 0
|
||||
26: TypePointer Input 23(int)
|
||||
27(gl_VertexID): 26(ptr) Variable Input
|
||||
28(gl_InstanceID): 26(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
Store 9(a1) 11
|
||||
Store 14(a2) 16
|
||||
25: 8(ptr) AccessChain 22 24
|
||||
Store 25 11
|
||||
Return
|
||||
FunctionEnd
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 29
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 9 13
|
||||
ExecutionMode 4 OriginLowerLeft
|
||||
Source GLSL 440
|
||||
Name 4 "main"
|
||||
Name 9 "color"
|
||||
Name 11 "Inputs"
|
||||
MemberName 11(Inputs) 0 "a1"
|
||||
MemberName 11(Inputs) 1 "a2"
|
||||
Name 13 ""
|
||||
Decorate 9(color) Location 0
|
||||
Decorate 11(Inputs) Block
|
||||
Decorate 13 Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypePointer Output 7(fvec4)
|
||||
9(color): 8(ptr) Variable Output
|
||||
10: TypeVector 6(float) 2
|
||||
11(Inputs): TypeStruct 7(fvec4) 10(fvec2)
|
||||
12: TypePointer Input 11(Inputs)
|
||||
13: 12(ptr) Variable Input
|
||||
14: TypeInt 32 1
|
||||
15: 14(int) Constant 0
|
||||
16: TypePointer Input 7(fvec4)
|
||||
20: 14(int) Constant 1
|
||||
21: TypePointer Input 10(fvec2)
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
17: 16(ptr) AccessChain 13 15
|
||||
18: 7(fvec4) Load 17
|
||||
19: 10(fvec2) VectorShuffle 18 18 0 1
|
||||
22: 21(ptr) AccessChain 13 20
|
||||
23: 10(fvec2) Load 22
|
||||
24: 6(float) CompositeExtract 19 0
|
||||
25: 6(float) CompositeExtract 19 1
|
||||
26: 6(float) CompositeExtract 23 0
|
||||
27: 6(float) CompositeExtract 23 1
|
||||
28: 7(fvec4) CompositeConstruct 24 25 26 27
|
||||
Store 9(color) 28
|
||||
Return
|
||||
FunctionEnd
|
154
Test/baseResults/link.redeclareBuiltin.vert.out
Normal file
154
Test/baseResults/link.redeclareBuiltin.vert.out
Normal file
@ -0,0 +1,154 @@
|
||||
link.redeclareBuiltin.vert
|
||||
Shader version: 410
|
||||
0:? Sequence
|
||||
0:8 Function Definition: main( ( global void)
|
||||
0:8 Function Parameters:
|
||||
0:10 Sequence
|
||||
0:10 move second child to first child ( temp 4-component vector of float)
|
||||
0:10 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:10 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 Constant:
|
||||
0:10 1.000000
|
||||
0:10 1.000000
|
||||
0:10 1.000000
|
||||
0:10 1.000000
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position})
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
|
||||
link.redeclareBuiltin.geom
|
||||
Shader version: 410
|
||||
invocations = -1
|
||||
max_vertices = 3
|
||||
input primitive = triangles
|
||||
output primitive = triangle_strip
|
||||
0:? Sequence
|
||||
0:11 Function Definition: main( ( global void)
|
||||
0:11 Function Parameters:
|
||||
0:13 Sequence
|
||||
0:13 move second child to first child ( temp 4-component vector of float)
|
||||
0:13 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
|
||||
0:13 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:13 Constant:
|
||||
0:13 0 (const uint)
|
||||
0:13 gl_Position: direct index for structure ( in 4-component vector of float Position)
|
||||
0:13 direct index ( temp block{ in 4-component vector of float Position gl_Position})
|
||||
0:13 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position})
|
||||
0:13 Constant:
|
||||
0:13 0 (const int)
|
||||
0:13 Constant:
|
||||
0:13 0 (const int)
|
||||
0:14 EmitVertex ( global void)
|
||||
0:16 move second child to first child ( temp 4-component vector of float)
|
||||
0:16 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
|
||||
0:16 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:16 Constant:
|
||||
0:16 0 (const uint)
|
||||
0:16 gl_Position: direct index for structure ( in 4-component vector of float Position)
|
||||
0:16 direct index ( temp block{ in 4-component vector of float Position gl_Position})
|
||||
0:16 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position})
|
||||
0:16 Constant:
|
||||
0:16 1 (const int)
|
||||
0:16 Constant:
|
||||
0:16 0 (const int)
|
||||
0:17 EmitVertex ( global void)
|
||||
0:19 move second child to first child ( temp 4-component vector of float)
|
||||
0:19 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
|
||||
0:19 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:19 Constant:
|
||||
0:19 0 (const uint)
|
||||
0:19 gl_Position: direct index for structure ( in 4-component vector of float Position)
|
||||
0:19 direct index ( temp block{ in 4-component vector of float Position gl_Position})
|
||||
0:19 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position})
|
||||
0:19 Constant:
|
||||
0:19 2 (const int)
|
||||
0:19 Constant:
|
||||
0:19 0 (const int)
|
||||
0:20 EmitVertex ( global void)
|
||||
0:22 EndPrimitive ( global void)
|
||||
0:? Linker Objects
|
||||
0:? 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position})
|
||||
0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
Linked geometry stage:
|
||||
|
||||
|
||||
Shader version: 410
|
||||
0:? Sequence
|
||||
0:8 Function Definition: main( ( global void)
|
||||
0:8 Function Parameters:
|
||||
0:10 Sequence
|
||||
0:10 move second child to first child ( temp 4-component vector of float)
|
||||
0:10 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:10 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 Constant:
|
||||
0:10 1.000000
|
||||
0:10 1.000000
|
||||
0:10 1.000000
|
||||
0:10 1.000000
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position})
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
Shader version: 410
|
||||
invocations = 1
|
||||
max_vertices = 3
|
||||
input primitive = triangles
|
||||
output primitive = triangle_strip
|
||||
0:? Sequence
|
||||
0:11 Function Definition: main( ( global void)
|
||||
0:11 Function Parameters:
|
||||
0:13 Sequence
|
||||
0:13 move second child to first child ( temp 4-component vector of float)
|
||||
0:13 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
|
||||
0:13 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:13 Constant:
|
||||
0:13 0 (const uint)
|
||||
0:13 gl_Position: direct index for structure ( in 4-component vector of float Position)
|
||||
0:13 direct index ( temp block{ in 4-component vector of float Position gl_Position})
|
||||
0:13 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position})
|
||||
0:13 Constant:
|
||||
0:13 0 (const int)
|
||||
0:13 Constant:
|
||||
0:13 0 (const int)
|
||||
0:14 EmitVertex ( global void)
|
||||
0:16 move second child to first child ( temp 4-component vector of float)
|
||||
0:16 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
|
||||
0:16 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:16 Constant:
|
||||
0:16 0 (const uint)
|
||||
0:16 gl_Position: direct index for structure ( in 4-component vector of float Position)
|
||||
0:16 direct index ( temp block{ in 4-component vector of float Position gl_Position})
|
||||
0:16 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position})
|
||||
0:16 Constant:
|
||||
0:16 1 (const int)
|
||||
0:16 Constant:
|
||||
0:16 0 (const int)
|
||||
0:17 EmitVertex ( global void)
|
||||
0:19 move second child to first child ( temp 4-component vector of float)
|
||||
0:19 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
|
||||
0:19 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:19 Constant:
|
||||
0:19 0 (const uint)
|
||||
0:19 gl_Position: direct index for structure ( in 4-component vector of float Position)
|
||||
0:19 direct index ( temp block{ in 4-component vector of float Position gl_Position})
|
||||
0:19 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position})
|
||||
0:19 Constant:
|
||||
0:19 2 (const int)
|
||||
0:19 Constant:
|
||||
0:19 0 (const int)
|
||||
0:20 EmitVertex ( global void)
|
||||
0:22 EndPrimitive ( global void)
|
||||
0:? Linker Objects
|
||||
0:? 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position})
|
||||
0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
|
254
Test/baseResults/link.tesselation.tese.out
Normal file
254
Test/baseResults/link.tesselation.tese.out
Normal file
@ -0,0 +1,254 @@
|
||||
link.tesselation.tese
|
||||
Shader version: 440
|
||||
input primitive = triangles
|
||||
vertex spacing = fractional_odd_spacing
|
||||
triangle order = cw
|
||||
0:? Sequence
|
||||
0:15 Function Definition: main( ( global void)
|
||||
0:15 Function Parameters:
|
||||
0:17 Sequence
|
||||
0:17 Sequence
|
||||
0:17 move second child to first child ( temp float)
|
||||
0:17 'u' ( temp float)
|
||||
0:17 direct index ( temp float)
|
||||
0:17 'gl_TessCoord' ( in 3-component vector of float TessCoord)
|
||||
0:17 Constant:
|
||||
0:17 0 (const int)
|
||||
0:18 Sequence
|
||||
0:18 move second child to first child ( temp float)
|
||||
0:18 'v' ( temp float)
|
||||
0:18 direct index ( temp float)
|
||||
0:18 'gl_TessCoord' ( in 3-component vector of float TessCoord)
|
||||
0:18 Constant:
|
||||
0:18 1 (const int)
|
||||
0:19 Sequence
|
||||
0:19 move second child to first child ( temp float)
|
||||
0:19 'w' ( temp float)
|
||||
0:19 direct index ( temp float)
|
||||
0:19 'gl_TessCoord' ( in 3-component vector of float TessCoord)
|
||||
0:19 Constant:
|
||||
0:19 2 (const int)
|
||||
0:21 Sequence
|
||||
0:21 move second child to first child ( temp 2-component vector of float)
|
||||
0:21 'newUv' ( temp 2-component vector of float)
|
||||
0:21 Construct vec2 ( temp 2-component vector of float)
|
||||
0:21 add ( temp 2-component vector of float)
|
||||
0:21 add ( temp 2-component vector of float)
|
||||
0:21 vector-scale ( temp 2-component vector of float)
|
||||
0:21 'u' ( temp float)
|
||||
0:21 texCoord: direct index for structure ( in 2-component vector of float)
|
||||
0:21 direct index (layout( location=0) temp block{ in 2-component vector of float texCoord})
|
||||
0:21 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
|
||||
0:21 Constant:
|
||||
0:21 0 (const int)
|
||||
0:21 Constant:
|
||||
0:21 0 (const int)
|
||||
0:21 vector-scale ( temp 2-component vector of float)
|
||||
0:21 'v' ( temp float)
|
||||
0:21 texCoord: direct index for structure ( in 2-component vector of float)
|
||||
0:21 direct index (layout( location=0) temp block{ in 2-component vector of float texCoord})
|
||||
0:21 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
|
||||
0:21 Constant:
|
||||
0:21 1 (const int)
|
||||
0:21 Constant:
|
||||
0:21 0 (const int)
|
||||
0:21 vector-scale ( temp 2-component vector of float)
|
||||
0:21 'w' ( temp float)
|
||||
0:21 texCoord: direct index for structure ( in 2-component vector of float)
|
||||
0:21 direct index (layout( location=0) temp block{ in 2-component vector of float texCoord})
|
||||
0:21 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
|
||||
0:21 Constant:
|
||||
0:21 2 (const int)
|
||||
0:21 Constant:
|
||||
0:21 0 (const int)
|
||||
0:22 move second child to first child ( temp 2-component vector of float)
|
||||
0:22 texCoord: direct index for structure ( out 2-component vector of float)
|
||||
0:22 'OUT' (layout( location=0) out block{ out 2-component vector of float texCoord})
|
||||
0:22 Constant:
|
||||
0:22 0 (const int)
|
||||
0:22 'newUv' ( temp 2-component vector of float)
|
||||
0:23 move second child to first child ( temp 4-component vector of float)
|
||||
0:23 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:23 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:23 Constant:
|
||||
0:23 0 (const uint)
|
||||
0:23 gl_Position: direct index for structure ( in 4-component vector of float Position)
|
||||
0:23 indirect index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:23 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:23 'gl_PatchVerticesIn' ( in int PatchVertices)
|
||||
0:23 Constant:
|
||||
0:23 0 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
|
||||
0:? 'OUT' (layout( location=0) out block{ out 2-component vector of float texCoord})
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
|
||||
link.tesselation.tesc
|
||||
Shader version: 440
|
||||
vertices = 3
|
||||
0:? Sequence
|
||||
0:14 Function Definition: main( ( global void)
|
||||
0:14 Function Parameters:
|
||||
0:16 Sequence
|
||||
0:16 move second child to first child ( temp 2-component vector of float)
|
||||
0:16 texCoord: direct index for structure ( out 2-component vector of float)
|
||||
0:16 indirect index (layout( location=0) temp block{ out 2-component vector of float texCoord})
|
||||
0:16 'OUT' (layout( location=0) out 3-element array of block{ out 2-component vector of float texCoord})
|
||||
0:16 'gl_InvocationID' ( in int InvocationID)
|
||||
0:16 Constant:
|
||||
0:16 0 (const int)
|
||||
0:16 texCoord: direct index for structure ( in 2-component vector of float)
|
||||
0:16 indirect index (layout( location=0) temp block{ in 2-component vector of float texCoord})
|
||||
0:16 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
|
||||
0:16 'gl_InvocationID' ( in int InvocationID)
|
||||
0:16 Constant:
|
||||
0:16 0 (const int)
|
||||
0:18 Sequence
|
||||
0:18 move second child to first child ( temp float)
|
||||
0:18 'tessLevel' ( temp float)
|
||||
0:18 Constant:
|
||||
0:18 10.000000
|
||||
0:19 move second child to first child ( temp float)
|
||||
0:19 indirect index ( patch temp float TessLevelOuter)
|
||||
0:19 'gl_TessLevelOuter' ( patch out 4-element array of float TessLevelOuter)
|
||||
0:19 'gl_InvocationID' ( in int InvocationID)
|
||||
0:19 'tessLevel' ( temp float)
|
||||
0:20 move second child to first child ( temp float)
|
||||
0:20 direct index ( patch temp float TessLevelInner)
|
||||
0:20 'gl_TessLevelInner' ( patch out 2-element array of float TessLevelInner)
|
||||
0:20 Constant:
|
||||
0:20 0 (const int)
|
||||
0:20 'tessLevel' ( temp float)
|
||||
0:? Linker Objects
|
||||
0:? 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
|
||||
0:? 'OUT' (layout( location=0) out 3-element array of block{ out 2-component vector of float texCoord})
|
||||
|
||||
|
||||
Linked tessellation control stage:
|
||||
|
||||
|
||||
Linked tessellation evaluation stage:
|
||||
|
||||
|
||||
Shader version: 440
|
||||
vertices = 3
|
||||
0:? Sequence
|
||||
0:14 Function Definition: main( ( global void)
|
||||
0:14 Function Parameters:
|
||||
0:16 Sequence
|
||||
0:16 move second child to first child ( temp 2-component vector of float)
|
||||
0:16 texCoord: direct index for structure ( out 2-component vector of float)
|
||||
0:16 indirect index (layout( location=0) temp block{ out 2-component vector of float texCoord})
|
||||
0:16 'OUT' (layout( location=0) out 3-element array of block{ out 2-component vector of float texCoord})
|
||||
0:16 'gl_InvocationID' ( in int InvocationID)
|
||||
0:16 Constant:
|
||||
0:16 0 (const int)
|
||||
0:16 texCoord: direct index for structure ( in 2-component vector of float)
|
||||
0:16 indirect index (layout( location=0) temp block{ in 2-component vector of float texCoord})
|
||||
0:16 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
|
||||
0:16 'gl_InvocationID' ( in int InvocationID)
|
||||
0:16 Constant:
|
||||
0:16 0 (const int)
|
||||
0:18 Sequence
|
||||
0:18 move second child to first child ( temp float)
|
||||
0:18 'tessLevel' ( temp float)
|
||||
0:18 Constant:
|
||||
0:18 10.000000
|
||||
0:19 move second child to first child ( temp float)
|
||||
0:19 indirect index ( patch temp float TessLevelOuter)
|
||||
0:19 'gl_TessLevelOuter' ( patch out 4-element array of float TessLevelOuter)
|
||||
0:19 'gl_InvocationID' ( in int InvocationID)
|
||||
0:19 'tessLevel' ( temp float)
|
||||
0:20 move second child to first child ( temp float)
|
||||
0:20 direct index ( patch temp float TessLevelInner)
|
||||
0:20 'gl_TessLevelInner' ( patch out 2-element array of float TessLevelInner)
|
||||
0:20 Constant:
|
||||
0:20 0 (const int)
|
||||
0:20 'tessLevel' ( temp float)
|
||||
0:? Linker Objects
|
||||
0:? 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
|
||||
0:? 'OUT' (layout( location=0) out 3-element array of block{ out 2-component vector of float texCoord})
|
||||
Shader version: 440
|
||||
input primitive = triangles
|
||||
vertex spacing = fractional_odd_spacing
|
||||
triangle order = cw
|
||||
0:? Sequence
|
||||
0:15 Function Definition: main( ( global void)
|
||||
0:15 Function Parameters:
|
||||
0:17 Sequence
|
||||
0:17 Sequence
|
||||
0:17 move second child to first child ( temp float)
|
||||
0:17 'u' ( temp float)
|
||||
0:17 direct index ( temp float)
|
||||
0:17 'gl_TessCoord' ( in 3-component vector of float TessCoord)
|
||||
0:17 Constant:
|
||||
0:17 0 (const int)
|
||||
0:18 Sequence
|
||||
0:18 move second child to first child ( temp float)
|
||||
0:18 'v' ( temp float)
|
||||
0:18 direct index ( temp float)
|
||||
0:18 'gl_TessCoord' ( in 3-component vector of float TessCoord)
|
||||
0:18 Constant:
|
||||
0:18 1 (const int)
|
||||
0:19 Sequence
|
||||
0:19 move second child to first child ( temp float)
|
||||
0:19 'w' ( temp float)
|
||||
0:19 direct index ( temp float)
|
||||
0:19 'gl_TessCoord' ( in 3-component vector of float TessCoord)
|
||||
0:19 Constant:
|
||||
0:19 2 (const int)
|
||||
0:21 Sequence
|
||||
0:21 move second child to first child ( temp 2-component vector of float)
|
||||
0:21 'newUv' ( temp 2-component vector of float)
|
||||
0:21 Construct vec2 ( temp 2-component vector of float)
|
||||
0:21 add ( temp 2-component vector of float)
|
||||
0:21 add ( temp 2-component vector of float)
|
||||
0:21 vector-scale ( temp 2-component vector of float)
|
||||
0:21 'u' ( temp float)
|
||||
0:21 texCoord: direct index for structure ( in 2-component vector of float)
|
||||
0:21 direct index (layout( location=0) temp block{ in 2-component vector of float texCoord})
|
||||
0:21 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
|
||||
0:21 Constant:
|
||||
0:21 0 (const int)
|
||||
0:21 Constant:
|
||||
0:21 0 (const int)
|
||||
0:21 vector-scale ( temp 2-component vector of float)
|
||||
0:21 'v' ( temp float)
|
||||
0:21 texCoord: direct index for structure ( in 2-component vector of float)
|
||||
0:21 direct index (layout( location=0) temp block{ in 2-component vector of float texCoord})
|
||||
0:21 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
|
||||
0:21 Constant:
|
||||
0:21 1 (const int)
|
||||
0:21 Constant:
|
||||
0:21 0 (const int)
|
||||
0:21 vector-scale ( temp 2-component vector of float)
|
||||
0:21 'w' ( temp float)
|
||||
0:21 texCoord: direct index for structure ( in 2-component vector of float)
|
||||
0:21 direct index (layout( location=0) temp block{ in 2-component vector of float texCoord})
|
||||
0:21 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
|
||||
0:21 Constant:
|
||||
0:21 2 (const int)
|
||||
0:21 Constant:
|
||||
0:21 0 (const int)
|
||||
0:22 move second child to first child ( temp 2-component vector of float)
|
||||
0:22 texCoord: direct index for structure ( out 2-component vector of float)
|
||||
0:22 'OUT' (layout( location=0) out block{ out 2-component vector of float texCoord})
|
||||
0:22 Constant:
|
||||
0:22 0 (const int)
|
||||
0:22 'newUv' ( temp 2-component vector of float)
|
||||
0:23 move second child to first child ( temp 4-component vector of float)
|
||||
0:23 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:23 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:23 Constant:
|
||||
0:23 0 (const uint)
|
||||
0:23 gl_Position: direct index for structure ( in 4-component vector of float Position)
|
||||
0:23 indirect index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:23 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:23 'gl_PatchVerticesIn' ( in int PatchVertices)
|
||||
0:23 Constant:
|
||||
0:23 0 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
|
||||
0:? 'OUT' (layout( location=0) out block{ out 2-component vector of float texCoord})
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
|
94
Test/baseResults/link.tesselation.vert.out
Normal file
94
Test/baseResults/link.tesselation.vert.out
Normal file
@ -0,0 +1,94 @@
|
||||
link.tesselation.vert
|
||||
Shader version: 440
|
||||
0:? Sequence
|
||||
0:11 Function Definition: main( ( global void)
|
||||
0:11 Function Parameters:
|
||||
0:13 Sequence
|
||||
0:13 move second child to first child ( temp 4-component vector of float)
|
||||
0:13 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:13 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:13 Constant:
|
||||
0:13 0 (const uint)
|
||||
0:13 'i_Pos' (layout( location=0) in 4-component vector of float)
|
||||
0:14 move second child to first child ( temp 2-component vector of float)
|
||||
0:14 texCoord: direct index for structure ( out 2-component vector of float)
|
||||
0:14 'OUT' (layout( location=0) out block{ out 2-component vector of float texCoord})
|
||||
0:14 Constant:
|
||||
0:14 0 (const int)
|
||||
0:14 'i_Tex' (layout( location=1) in 2-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'i_Pos' (layout( location=0) in 4-component vector of float)
|
||||
0:? 'i_Tex' (layout( location=1) in 2-component vector of float)
|
||||
0:? 'OUT' (layout( location=0) out block{ out 2-component vector of float texCoord})
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
|
||||
link.tesselation.frag
|
||||
Shader version: 440
|
||||
0:? Sequence
|
||||
0:12 Function Definition: main( ( global void)
|
||||
0:12 Function Parameters:
|
||||
0:14 Sequence
|
||||
0:14 move second child to first child ( temp 4-component vector of float)
|
||||
0:14 'oColor' (layout( location=0) out 4-component vector of float)
|
||||
0:14 texture ( global 4-component vector of float)
|
||||
0:14 'mytex' (layout( binding=0) uniform sampler2D)
|
||||
0:14 texCoord: direct index for structure ( in 2-component vector of float)
|
||||
0:14 'IN' (layout( location=0) in block{ in 2-component vector of float texCoord})
|
||||
0:14 Constant:
|
||||
0:14 0 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 'IN' (layout( location=0) in block{ in 2-component vector of float texCoord})
|
||||
0:? 'oColor' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'mytex' (layout( binding=0) uniform sampler2D)
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 440
|
||||
0:? Sequence
|
||||
0:11 Function Definition: main( ( global void)
|
||||
0:11 Function Parameters:
|
||||
0:13 Sequence
|
||||
0:13 move second child to first child ( temp 4-component vector of float)
|
||||
0:13 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:13 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:13 Constant:
|
||||
0:13 0 (const uint)
|
||||
0:13 'i_Pos' (layout( location=0) in 4-component vector of float)
|
||||
0:14 move second child to first child ( temp 2-component vector of float)
|
||||
0:14 texCoord: direct index for structure ( out 2-component vector of float)
|
||||
0:14 'OUT' (layout( location=0) out block{ out 2-component vector of float texCoord})
|
||||
0:14 Constant:
|
||||
0:14 0 (const int)
|
||||
0:14 'i_Tex' (layout( location=1) in 2-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'i_Pos' (layout( location=0) in 4-component vector of float)
|
||||
0:? 'i_Tex' (layout( location=1) in 2-component vector of float)
|
||||
0:? 'OUT' (layout( location=0) out block{ out 2-component vector of float texCoord})
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
Shader version: 440
|
||||
0:? Sequence
|
||||
0:12 Function Definition: main( ( global void)
|
||||
0:12 Function Parameters:
|
||||
0:14 Sequence
|
||||
0:14 move second child to first child ( temp 4-component vector of float)
|
||||
0:14 'oColor' (layout( location=0) out 4-component vector of float)
|
||||
0:14 texture ( global 4-component vector of float)
|
||||
0:14 'mytex' (layout( binding=0) uniform sampler2D)
|
||||
0:14 texCoord: direct index for structure ( in 2-component vector of float)
|
||||
0:14 'IN' (layout( location=0) in block{ in 2-component vector of float texCoord})
|
||||
0:14 Constant:
|
||||
0:14 0 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 'IN' (layout( location=0) in block{ in 2-component vector of float texCoord})
|
||||
0:? 'oColor' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'mytex' (layout( binding=0) uniform sampler2D)
|
||||
|
@ -28,8 +28,6 @@ rayQuery.rgen
|
||||
MemberDecorate 26(block) 0 Offset 0
|
||||
MemberDecorate 26(block) 1 Offset 16
|
||||
Decorate 26(block) BufferBlock
|
||||
Decorate 28 DescriptorSet 0
|
||||
Decorate 28 Binding 1
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
|
@ -31,7 +31,6 @@ spv.1.4.OpEntryPoint.frag
|
||||
Decorate 25(uniformv) Binding 0
|
||||
MemberDecorate 31(pushB) 0 Offset 0
|
||||
Decorate 31(pushB) Block
|
||||
Decorate 33(pushv) Binding 2
|
||||
MemberDecorate 39(bbt) 0 Offset 0
|
||||
Decorate 39(bbt) Block
|
||||
Decorate 41(bufferv) DescriptorSet 0
|
||||
|
33
Test/baseResults/spv.AnyHitShaderMotion.rahit.out
Normal file
33
Test/baseResults/spv.AnyHitShaderMotion.rahit.out
Normal file
@ -0,0 +1,33 @@
|
||||
spv.AnyHitShaderMotion.rahit
|
||||
// Module Version 10400
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 14
|
||||
|
||||
Capability RayTracingKHR
|
||||
Capability RayTracingMotionBlurNV
|
||||
Extension "SPV_KHR_ray_tracing"
|
||||
Extension "SPV_NV_ray_tracing_motion_blur"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint AnyHitKHR 4 "main" 10
|
||||
Source GLSL 460
|
||||
SourceExtension "GL_NV_ray_tracing_motion_blur"
|
||||
Name 4 "main"
|
||||
Name 8 "time"
|
||||
Name 10 "gl_CurrentRayTimeNV"
|
||||
Decorate 10(gl_CurrentRayTimeNV) BuiltIn CurrentRayTimeNV
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypePointer Function 6(float)
|
||||
9: TypePointer Input 6(float)
|
||||
10(gl_CurrentRayTimeNV): 9(ptr) Variable Input
|
||||
12: 6(float) Constant 1056964608
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
8(time): 7(ptr) Variable Function
|
||||
11: 6(float) Load 10(gl_CurrentRayTimeNV)
|
||||
13: 6(float) FAdd 11 12
|
||||
Store 8(time) 13
|
||||
Return
|
||||
FunctionEnd
|
59
Test/baseResults/spv.ClosestHitShaderMotion.rchit.out
Normal file
59
Test/baseResults/spv.ClosestHitShaderMotion.rchit.out
Normal file
@ -0,0 +1,59 @@
|
||||
spv.ClosestHitShaderMotion.rchit
|
||||
// Module Version 10400
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 33
|
||||
|
||||
Capability RayTracingKHR
|
||||
Capability RayTracingMotionBlurNV
|
||||
Extension "SPV_KHR_ray_tracing"
|
||||
Extension "SPV_NV_ray_tracing_motion_blur"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint ClosestHitKHR 4 "main" 10 16 32
|
||||
Source GLSL 460
|
||||
SourceExtension "GL_EXT_ray_tracing"
|
||||
SourceExtension "GL_NV_ray_tracing_motion_blur"
|
||||
Name 4 "main"
|
||||
Name 8 "time"
|
||||
Name 10 "gl_CurrentRayTimeNV"
|
||||
Name 16 "accEXT"
|
||||
Name 32 "incomingPayloadEXT"
|
||||
Decorate 10(gl_CurrentRayTimeNV) BuiltIn CurrentRayTimeNV
|
||||
Decorate 16(accEXT) DescriptorSet 0
|
||||
Decorate 16(accEXT) Binding 0
|
||||
Decorate 32(incomingPayloadEXT) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypePointer Function 6(float)
|
||||
9: TypePointer Input 6(float)
|
||||
10(gl_CurrentRayTimeNV): 9(ptr) Variable Input
|
||||
12: 6(float) Constant 1056964608
|
||||
14: TypeAccelerationStructureKHR
|
||||
15: TypePointer UniformConstant 14
|
||||
16(accEXT): 15(ptr) Variable UniformConstant
|
||||
18: TypeInt 32 0
|
||||
19: 18(int) Constant 0
|
||||
20: 18(int) Constant 1
|
||||
21: 18(int) Constant 2
|
||||
22: 18(int) Constant 3
|
||||
23: TypeVector 6(float) 3
|
||||
24: 23(fvec3) ConstantComposite 12 12 12
|
||||
25: 6(float) Constant 1065353216
|
||||
26: 23(fvec3) ConstantComposite 25 25 25
|
||||
27: 6(float) Constant 1061158912
|
||||
28: TypeInt 32 1
|
||||
29: 28(int) Constant 0
|
||||
30: TypeVector 6(float) 4
|
||||
31: TypePointer IncomingRayPayloadKHR 30(fvec4)
|
||||
32(incomingPayloadEXT): 31(ptr) Variable IncomingRayPayloadKHR
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
8(time): 7(ptr) Variable Function
|
||||
11: 6(float) Load 10(gl_CurrentRayTimeNV)
|
||||
13: 6(float) FAdd 11 12
|
||||
Store 8(time) 13
|
||||
17: 14 Load 16(accEXT)
|
||||
TraceRayMotionNV 17 19 20 21 22 19 24 12 26 27 25 32(incomingPayloadEXT)
|
||||
Return
|
||||
FunctionEnd
|
33
Test/baseResults/spv.IntersectShaderMotion.rint.out
Normal file
33
Test/baseResults/spv.IntersectShaderMotion.rint.out
Normal file
@ -0,0 +1,33 @@
|
||||
spv.IntersectShaderMotion.rint
|
||||
// Module Version 10400
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 14
|
||||
|
||||
Capability RayTracingKHR
|
||||
Capability RayTracingMotionBlurNV
|
||||
Extension "SPV_KHR_ray_tracing"
|
||||
Extension "SPV_NV_ray_tracing_motion_blur"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint IntersectionKHR 4 "main" 10
|
||||
Source GLSL 460
|
||||
SourceExtension "GL_NV_ray_tracing_motion_blur"
|
||||
Name 4 "main"
|
||||
Name 8 "time"
|
||||
Name 10 "gl_CurrentRayTimeNV"
|
||||
Decorate 10(gl_CurrentRayTimeNV) BuiltIn CurrentRayTimeNV
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypePointer Function 6(float)
|
||||
9: TypePointer Input 6(float)
|
||||
10(gl_CurrentRayTimeNV): 9(ptr) Variable Input
|
||||
12: 6(float) Constant 1056964608
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
8(time): 7(ptr) Variable Function
|
||||
11: 6(float) Load 10(gl_CurrentRayTimeNV)
|
||||
13: 6(float) FAdd 11 12
|
||||
Store 8(time) 13
|
||||
Return
|
||||
FunctionEnd
|
59
Test/baseResults/spv.MissShaderMotion.rmiss.out
Normal file
59
Test/baseResults/spv.MissShaderMotion.rmiss.out
Normal file
@ -0,0 +1,59 @@
|
||||
spv.MissShaderMotion.rmiss
|
||||
// Module Version 10400
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 33
|
||||
|
||||
Capability RayTracingKHR
|
||||
Capability RayTracingMotionBlurNV
|
||||
Extension "SPV_KHR_ray_tracing"
|
||||
Extension "SPV_NV_ray_tracing_motion_blur"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint MissKHR 4 "main" 10 16 32
|
||||
Source GLSL 460
|
||||
SourceExtension "GL_EXT_ray_tracing"
|
||||
SourceExtension "GL_NV_ray_tracing_motion_blur"
|
||||
Name 4 "main"
|
||||
Name 8 "time"
|
||||
Name 10 "gl_CurrentRayTimeNV"
|
||||
Name 16 "accEXT"
|
||||
Name 32 "localPayloadEXT"
|
||||
Decorate 10(gl_CurrentRayTimeNV) BuiltIn CurrentRayTimeNV
|
||||
Decorate 16(accEXT) DescriptorSet 0
|
||||
Decorate 16(accEXT) Binding 0
|
||||
Decorate 32(localPayloadEXT) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypePointer Function 6(float)
|
||||
9: TypePointer Input 6(float)
|
||||
10(gl_CurrentRayTimeNV): 9(ptr) Variable Input
|
||||
12: 6(float) Constant 1056964608
|
||||
14: TypeAccelerationStructureKHR
|
||||
15: TypePointer UniformConstant 14
|
||||
16(accEXT): 15(ptr) Variable UniformConstant
|
||||
18: TypeInt 32 0
|
||||
19: 18(int) Constant 0
|
||||
20: 18(int) Constant 1
|
||||
21: 18(int) Constant 2
|
||||
22: 18(int) Constant 3
|
||||
23: TypeVector 6(float) 3
|
||||
24: 23(fvec3) ConstantComposite 12 12 12
|
||||
25: 6(float) Constant 1065353216
|
||||
26: 23(fvec3) ConstantComposite 25 25 25
|
||||
27: 6(float) Constant 1061158912
|
||||
28: TypeInt 32 1
|
||||
29: 28(int) Constant 0
|
||||
30: TypeVector 6(float) 4
|
||||
31: TypePointer RayPayloadKHR 30(fvec4)
|
||||
32(localPayloadEXT): 31(ptr) Variable RayPayloadKHR
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
8(time): 7(ptr) Variable Function
|
||||
11: 6(float) Load 10(gl_CurrentRayTimeNV)
|
||||
13: 6(float) FAdd 11 12
|
||||
Store 8(time) 13
|
||||
17: 14 Load 16(accEXT)
|
||||
TraceRayMotionNV 17 19 20 21 22 19 24 12 26 27 25 32(localPayloadEXT)
|
||||
Return
|
||||
FunctionEnd
|
@ -31,8 +31,6 @@ spv.RayGenShader.rgen
|
||||
MemberDecorate 37(block) 0 Offset 0
|
||||
MemberDecorate 37(block) 1 Offset 16
|
||||
Decorate 37(block) BufferBlock
|
||||
Decorate 39 DescriptorSet 0
|
||||
Decorate 39 Binding 2
|
||||
Decorate 50(accNV1) DescriptorSet 0
|
||||
Decorate 50(accNV1) Binding 1
|
||||
Decorate 53(payload) Location 0
|
||||
|
@ -30,8 +30,6 @@ spv.RayGenShader11.rgen
|
||||
MemberDecorate 37(block) 0 Offset 0
|
||||
MemberDecorate 37(block) 1 Offset 16
|
||||
Decorate 37(block) Block
|
||||
Decorate 39 DescriptorSet 0
|
||||
Decorate 39 Binding 1
|
||||
Decorate 52(payload) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
|
@ -37,8 +37,6 @@ spv.RayGenShaderArray.rgen
|
||||
MemberDecorate 34(block) 1 Offset 16
|
||||
MemberDecorate 34(block) 2 Offset 28
|
||||
Decorate 34(block) BufferBlock
|
||||
Decorate 36 DescriptorSet 0
|
||||
Decorate 36 Binding 2
|
||||
Decorate 60(accNV1) DescriptorSet 0
|
||||
Decorate 60(accNV1) Binding 1
|
||||
Decorate 75 DecorationNonUniformEXT
|
||||
|
81
Test/baseResults/spv.RayGenShaderMotion.rgen.out
Normal file
81
Test/baseResults/spv.RayGenShaderMotion.rgen.out
Normal file
@ -0,0 +1,81 @@
|
||||
spv.RayGenShaderMotion.rgen
|
||||
// Module Version 10400
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 47
|
||||
|
||||
Capability RayTracingKHR
|
||||
Capability RayTracingMotionBlurNV
|
||||
Extension "SPV_KHR_ray_tracing"
|
||||
Extension "SPV_NV_ray_tracing_motion_blur"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint RayGenerationKHR 4 "main" 11 21 29 46
|
||||
Source GLSL 460
|
||||
SourceExtension "GL_EXT_ray_tracing"
|
||||
SourceExtension "GL_NV_ray_tracing_motion_blur"
|
||||
Name 4 "main"
|
||||
Name 8 "lx"
|
||||
Name 11 "gl_LaunchIDEXT"
|
||||
Name 16 "ly"
|
||||
Name 20 "sx"
|
||||
Name 21 "gl_LaunchSizeEXT"
|
||||
Name 24 "sy"
|
||||
Name 29 "accEXT"
|
||||
Name 46 "payloadEXT"
|
||||
Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
|
||||
Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
|
||||
Decorate 29(accEXT) DescriptorSet 0
|
||||
Decorate 29(accEXT) Binding 0
|
||||
Decorate 46(payloadEXT) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
7: TypePointer Function 6(int)
|
||||
9: TypeVector 6(int) 3
|
||||
10: TypePointer Input 9(ivec3)
|
||||
11(gl_LaunchIDEXT): 10(ptr) Variable Input
|
||||
12: 6(int) Constant 0
|
||||
13: TypePointer Input 6(int)
|
||||
17: 6(int) Constant 1
|
||||
21(gl_LaunchSizeEXT): 10(ptr) Variable Input
|
||||
27: TypeAccelerationStructureKHR
|
||||
28: TypePointer UniformConstant 27
|
||||
29(accEXT): 28(ptr) Variable UniformConstant
|
||||
35: TypeFloat 32
|
||||
36: TypeVector 35(float) 3
|
||||
37: 35(float) Constant 1056964608
|
||||
38: 36(fvec3) ConstantComposite 37 37 37
|
||||
39: 35(float) Constant 1065353216
|
||||
40: 36(fvec3) ConstantComposite 39 39 39
|
||||
41: 35(float) Constant 1061158912
|
||||
42: TypeInt 32 1
|
||||
43: 42(int) Constant 0
|
||||
44: TypeVector 35(float) 4
|
||||
45: TypePointer RayPayloadKHR 44(fvec4)
|
||||
46(payloadEXT): 45(ptr) Variable RayPayloadKHR
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
8(lx): 7(ptr) Variable Function
|
||||
16(ly): 7(ptr) Variable Function
|
||||
20(sx): 7(ptr) Variable Function
|
||||
24(sy): 7(ptr) Variable Function
|
||||
14: 13(ptr) AccessChain 11(gl_LaunchIDEXT) 12
|
||||
15: 6(int) Load 14
|
||||
Store 8(lx) 15
|
||||
18: 13(ptr) AccessChain 11(gl_LaunchIDEXT) 17
|
||||
19: 6(int) Load 18
|
||||
Store 16(ly) 19
|
||||
22: 13(ptr) AccessChain 21(gl_LaunchSizeEXT) 12
|
||||
23: 6(int) Load 22
|
||||
Store 20(sx) 23
|
||||
25: 13(ptr) AccessChain 21(gl_LaunchSizeEXT) 17
|
||||
26: 6(int) Load 25
|
||||
Store 24(sy) 26
|
||||
30: 27 Load 29(accEXT)
|
||||
31: 6(int) Load 8(lx)
|
||||
32: 6(int) Load 16(ly)
|
||||
33: 6(int) Load 20(sx)
|
||||
34: 6(int) Load 24(sy)
|
||||
TraceRayMotionNV 30 31 32 33 34 12 38 37 40 41 37 46(payloadEXT)
|
||||
Return
|
||||
FunctionEnd
|
@ -73,6 +73,7 @@ spv.ext.AnyHitShader.rahit
|
||||
Decorate 98(gl_SubgroupSize) RelaxedPrecision
|
||||
Decorate 98(gl_SubgroupSize) BuiltIn SubgroupSize
|
||||
Decorate 99 RelaxedPrecision
|
||||
Decorate 100 RelaxedPrecision
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
|
@ -38,10 +38,21 @@ spv.ext.ClosestHitShader_Subgroup.rchit
|
||||
Decorate 28(gl_SubgroupInvocationID) RelaxedPrecision
|
||||
Decorate 28(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
|
||||
Decorate 29 RelaxedPrecision
|
||||
Decorate 30 RelaxedPrecision
|
||||
Decorate 34(gl_SubGroupGeMaskARB) BuiltIn SubgroupGeMaskKHR
|
||||
Decorate 41 RelaxedPrecision
|
||||
Decorate 42 RelaxedPrecision
|
||||
Decorate 43(gl_SubgroupGtMask) BuiltIn SubgroupGtMaskKHR
|
||||
Decorate 46 RelaxedPrecision
|
||||
Decorate 46 RelaxedPrecision
|
||||
Decorate 47 RelaxedPrecision
|
||||
Decorate 48(gl_SubgroupLeMask) BuiltIn SubgroupLeMaskKHR
|
||||
Decorate 51 RelaxedPrecision
|
||||
Decorate 51 RelaxedPrecision
|
||||
Decorate 52 RelaxedPrecision
|
||||
Decorate 53(gl_SubGroupLtMaskARB) BuiltIn SubgroupLtMaskKHR
|
||||
Decorate 59 RelaxedPrecision
|
||||
Decorate 60 RelaxedPrecision
|
||||
Decorate 61(gl_SMIDNV) BuiltIn SMIDNV
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
|
@ -49,8 +49,6 @@ spv.ext.RayGenSBTlayout.rgen
|
||||
MemberDecorate 36(block) 9 Offset 120
|
||||
MemberDecorate 36(block) 10 Offset 128
|
||||
Decorate 36(block) Block
|
||||
Decorate 38 DescriptorSet 0
|
||||
Decorate 38 Binding 0
|
||||
Decorate 60(payload) Location 1
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
|
@ -49,8 +49,6 @@ spv.ext.RayGenSBTlayout140.rgen
|
||||
MemberDecorate 36(block) 9 Offset 136
|
||||
MemberDecorate 36(block) 10 Offset 144
|
||||
Decorate 36(block) Block
|
||||
Decorate 38 DescriptorSet 0
|
||||
Decorate 38 Binding 0
|
||||
Decorate 60(payload) Location 1
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
|
@ -49,8 +49,6 @@ spv.ext.RayGenSBTlayout430.rgen
|
||||
MemberDecorate 36(block) 9 Offset 120
|
||||
MemberDecorate 36(block) 10 Offset 128
|
||||
Decorate 36(block) Block
|
||||
Decorate 38 DescriptorSet 0
|
||||
Decorate 38 Binding 0
|
||||
Decorate 60(payload) Location 1
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
|
@ -50,8 +50,6 @@ spv.ext.RayGenSBTlayoutscalar.rgen
|
||||
MemberDecorate 36(block) 9 Offset 96
|
||||
MemberDecorate 36(block) 10 Offset 104
|
||||
Decorate 36(block) Block
|
||||
Decorate 38 DescriptorSet 0
|
||||
Decorate 38 Binding 0
|
||||
Decorate 60(payload) Location 1
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
|
@ -34,8 +34,6 @@ spv.ext.RayGenShader.rgen
|
||||
MemberDecorate 38(block) 0 Offset 0
|
||||
MemberDecorate 38(block) 1 Offset 16
|
||||
Decorate 38(block) Block
|
||||
Decorate 40 DescriptorSet 0
|
||||
Decorate 40 Binding 3
|
||||
Decorate 53(payload) Location 1
|
||||
Decorate 54(accEXT1) DescriptorSet 0
|
||||
Decorate 54(accEXT1) Binding 1
|
||||
|
@ -30,8 +30,6 @@ spv.ext.RayGenShader11.rgen
|
||||
MemberDecorate 37(block) 0 Offset 0
|
||||
MemberDecorate 37(block) 1 Offset 16
|
||||
Decorate 37(block) Block
|
||||
Decorate 39 DescriptorSet 0
|
||||
Decorate 39 Binding 1
|
||||
Decorate 52(payload) Location 1
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
|
@ -43,8 +43,6 @@ spv.ext.RayGenShaderArray.rgen
|
||||
MemberDecorate 36(block) 3 Offset 32
|
||||
MemberDecorate 36(block) 4 Offset 40
|
||||
Decorate 36(block) Block
|
||||
Decorate 38 DescriptorSet 0
|
||||
Decorate 38 Binding 2
|
||||
Decorate 61(payload) Location 1
|
||||
Decorate 65(accEXT1) DescriptorSet 0
|
||||
Decorate 65(accEXT1) Binding 1
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,7 @@
|
||||
spv.int16.frag
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 535
|
||||
// Id's are bound by 549
|
||||
|
||||
Capability Shader
|
||||
Capability Float16
|
||||
@ -48,53 +48,55 @@ spv.int16.frag
|
||||
Name 154 "i8v"
|
||||
Name 163 "u8v"
|
||||
Name 176 "bv"
|
||||
Name 195 "u16v"
|
||||
Name 200 "i16"
|
||||
Name 220 "i"
|
||||
Name 227 "uv"
|
||||
Name 243 "i64"
|
||||
Name 281 "b"
|
||||
Name 343 "i16v"
|
||||
Name 346 "i16"
|
||||
Name 356 "u16v"
|
||||
Name 358 "u16"
|
||||
Name 428 "i32"
|
||||
Name 431 "i64"
|
||||
Name 434 "i16v4"
|
||||
Name 437 "u32"
|
||||
Name 438 "u16v2"
|
||||
Name 442 "u64"
|
||||
Name 445 "u16v4"
|
||||
Name 457 "bv"
|
||||
Name 530 "Block"
|
||||
MemberName 530(Block) 0 "i16"
|
||||
MemberName 530(Block) 1 "i16v2"
|
||||
MemberName 530(Block) 2 "i16v3"
|
||||
MemberName 530(Block) 3 "i16v4"
|
||||
MemberName 530(Block) 4 "u16"
|
||||
MemberName 530(Block) 5 "u16v2"
|
||||
MemberName 530(Block) 6 "u16v3"
|
||||
MemberName 530(Block) 7 "u16v4"
|
||||
Name 532 "block"
|
||||
Name 533 "si16"
|
||||
Name 534 "su16"
|
||||
Name 196 "arr"
|
||||
Name 204 "u16v"
|
||||
Name 209 "i16"
|
||||
Name 229 "i"
|
||||
Name 236 "uv"
|
||||
Name 252 "i64"
|
||||
Name 290 "b"
|
||||
Name 353 "f"
|
||||
Name 357 "i16v"
|
||||
Name 360 "i16"
|
||||
Name 370 "u16v"
|
||||
Name 372 "u16"
|
||||
Name 442 "i32"
|
||||
Name 445 "i64"
|
||||
Name 448 "i16v4"
|
||||
Name 451 "u32"
|
||||
Name 452 "u16v2"
|
||||
Name 456 "u64"
|
||||
Name 459 "u16v4"
|
||||
Name 471 "bv"
|
||||
Name 544 "Block"
|
||||
MemberName 544(Block) 0 "i16"
|
||||
MemberName 544(Block) 1 "i16v2"
|
||||
MemberName 544(Block) 2 "i16v3"
|
||||
MemberName 544(Block) 3 "i16v4"
|
||||
MemberName 544(Block) 4 "u16"
|
||||
MemberName 544(Block) 5 "u16v2"
|
||||
MemberName 544(Block) 6 "u16v3"
|
||||
MemberName 544(Block) 7 "u16v4"
|
||||
Name 546 "block"
|
||||
Name 547 "si16"
|
||||
Name 548 "su16"
|
||||
MemberDecorate 24(Uniforms) 0 Offset 0
|
||||
Decorate 24(Uniforms) Block
|
||||
Decorate 26 DescriptorSet 0
|
||||
Decorate 26 Binding 0
|
||||
MemberDecorate 530(Block) 0 Offset 0
|
||||
MemberDecorate 530(Block) 1 Offset 4
|
||||
MemberDecorate 530(Block) 2 Offset 8
|
||||
MemberDecorate 530(Block) 3 Offset 16
|
||||
MemberDecorate 530(Block) 4 Offset 24
|
||||
MemberDecorate 530(Block) 5 Offset 28
|
||||
MemberDecorate 530(Block) 6 Offset 32
|
||||
MemberDecorate 530(Block) 7 Offset 40
|
||||
Decorate 530(Block) Block
|
||||
Decorate 532(block) DescriptorSet 0
|
||||
Decorate 532(block) Binding 1
|
||||
Decorate 533(si16) SpecId 100
|
||||
Decorate 534(su16) SpecId 101
|
||||
MemberDecorate 544(Block) 0 Offset 0
|
||||
MemberDecorate 544(Block) 1 Offset 4
|
||||
MemberDecorate 544(Block) 2 Offset 8
|
||||
MemberDecorate 544(Block) 3 Offset 16
|
||||
MemberDecorate 544(Block) 4 Offset 24
|
||||
MemberDecorate 544(Block) 5 Offset 28
|
||||
MemberDecorate 544(Block) 6 Offset 32
|
||||
MemberDecorate 544(Block) 7 Offset 40
|
||||
Decorate 544(Block) Block
|
||||
Decorate 546(block) DescriptorSet 0
|
||||
Decorate 546(block) Binding 1
|
||||
Decorate 547(si16) SpecId 100
|
||||
Decorate 548(su16) SpecId 101
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
14: TypeInt 16 1
|
||||
@ -160,37 +162,46 @@ spv.int16.frag
|
||||
185: 36(int16_t) Constant 1
|
||||
186: 57(i16vec2) ConstantComposite 184 184
|
||||
187: 57(i16vec2) ConstantComposite 185 185
|
||||
193: TypeVector 36(int16_t) 3
|
||||
194: TypePointer Function 193(i16vec3)
|
||||
197: TypeVector 14(int16_t) 3
|
||||
219: TypePointer Function 27(int)
|
||||
225: TypeVector 17(int) 3
|
||||
226: TypePointer Function 225(ivec3)
|
||||
242: TypePointer Function 71(int64_t)
|
||||
264: 17(int) Constant 1
|
||||
270: 17(int) Constant 2
|
||||
276: TypeVector 27(int) 3
|
||||
280: TypePointer Function 173(bool)
|
||||
282: 17(int) Constant 0
|
||||
296: TypePointer Function 17(int)
|
||||
354: 52(i16vec2) ConstantComposite 21 21
|
||||
363:193(i16vec3) ConstantComposite 184 184 184
|
||||
405: 173(bool) ConstantTrue
|
||||
412: 173(bool) ConstantFalse
|
||||
413: 174(bvec2) ConstantComposite 412 412
|
||||
425: TypeVector 173(bool) 3
|
||||
426: 425(bvec3) ConstantComposite 412 412 412
|
||||
432: TypeVector 14(int16_t) 4
|
||||
433: TypePointer Function 432(i16vec4)
|
||||
441: TypePointer Function 77(int64_t)
|
||||
443: TypeVector 36(int16_t) 4
|
||||
444: TypePointer Function 443(i16vec4)
|
||||
456: TypePointer Function 425(bvec3)
|
||||
530(Block): TypeStruct 14(int16_t) 52(i16vec2) 197(i16vec3) 432(i16vec4) 36(int16_t) 57(i16vec2) 193(i16vec3) 443(i16vec4)
|
||||
531: TypePointer Uniform 530(Block)
|
||||
532(block): 531(ptr) Variable Uniform
|
||||
533(si16): 14(int16_t) SpecConstant 4294967286
|
||||
534(su16): 36(int16_t) SpecConstant 20
|
||||
193: 17(int) Constant 4
|
||||
194: TypeArray 97(float) 193
|
||||
195: TypePointer Function 194
|
||||
197: 97(float) Constant 1065353216
|
||||
198: 97(float) Constant 1073741824
|
||||
199: 97(float) Constant 1077936128
|
||||
200: 97(float) Constant 1082130432
|
||||
201: 194 ConstantComposite 197 198 199 200
|
||||
202: TypeVector 36(int16_t) 3
|
||||
203: TypePointer Function 202(i16vec3)
|
||||
206: TypeVector 14(int16_t) 3
|
||||
228: TypePointer Function 27(int)
|
||||
234: TypeVector 17(int) 3
|
||||
235: TypePointer Function 234(ivec3)
|
||||
251: TypePointer Function 71(int64_t)
|
||||
273: 17(int) Constant 1
|
||||
279: 17(int) Constant 2
|
||||
285: TypeVector 27(int) 3
|
||||
289: TypePointer Function 173(bool)
|
||||
291: 17(int) Constant 0
|
||||
305: TypePointer Function 17(int)
|
||||
352: TypePointer Function 97(float)
|
||||
368: 52(i16vec2) ConstantComposite 21 21
|
||||
377:202(i16vec3) ConstantComposite 184 184 184
|
||||
419: 173(bool) ConstantTrue
|
||||
426: 173(bool) ConstantFalse
|
||||
427: 174(bvec2) ConstantComposite 426 426
|
||||
439: TypeVector 173(bool) 3
|
||||
440: 439(bvec3) ConstantComposite 426 426 426
|
||||
446: TypeVector 14(int16_t) 4
|
||||
447: TypePointer Function 446(i16vec4)
|
||||
455: TypePointer Function 77(int64_t)
|
||||
457: TypeVector 36(int16_t) 4
|
||||
458: TypePointer Function 457(i16vec4)
|
||||
470: TypePointer Function 439(bvec3)
|
||||
544(Block): TypeStruct 14(int16_t) 52(i16vec2) 206(i16vec3) 446(i16vec4) 36(int16_t) 57(i16vec2) 202(i16vec3) 457(i16vec4)
|
||||
545: TypePointer Uniform 544(Block)
|
||||
546(block): 545(ptr) Variable Uniform
|
||||
547(si16): 14(int16_t) SpecConstant 4294967286
|
||||
548(su16): 36(int16_t) SpecConstant 20
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
Return
|
||||
@ -364,397 +375,404 @@ spv.int16.frag
|
||||
FunctionEnd
|
||||
10(operators(): 2 Function None 3
|
||||
11: Label
|
||||
195(u16v): 194(ptr) Variable Function
|
||||
200(i16): 15(ptr) Variable Function
|
||||
220(i): 219(ptr) Variable Function
|
||||
227(uv): 226(ptr) Variable Function
|
||||
243(i64): 242(ptr) Variable Function
|
||||
281(b): 280(ptr) Variable Function
|
||||
196:193(i16vec3) Load 195(u16v)
|
||||
198:197(i16vec3) CompositeConstruct 179 179 179
|
||||
199:193(i16vec3) IAdd 196 198
|
||||
Store 195(u16v) 199
|
||||
201: 14(int16_t) Load 200(i16)
|
||||
202: 14(int16_t) ISub 201 179
|
||||
Store 200(i16) 202
|
||||
203: 14(int16_t) Load 200(i16)
|
||||
204: 14(int16_t) IAdd 203 179
|
||||
Store 200(i16) 204
|
||||
205:193(i16vec3) Load 195(u16v)
|
||||
206:197(i16vec3) CompositeConstruct 179 179 179
|
||||
207:193(i16vec3) ISub 205 206
|
||||
Store 195(u16v) 207
|
||||
208:193(i16vec3) Load 195(u16v)
|
||||
209:193(i16vec3) Not 208
|
||||
Store 195(u16v) 209
|
||||
210: 14(int16_t) Load 200(i16)
|
||||
Store 200(i16) 210
|
||||
211:193(i16vec3) Load 195(u16v)
|
||||
212:193(i16vec3) SNegate 211
|
||||
Store 195(u16v) 212
|
||||
213: 14(int16_t) Load 200(i16)
|
||||
214: 14(int16_t) Load 200(i16)
|
||||
215: 14(int16_t) IAdd 214 213
|
||||
Store 200(i16) 215
|
||||
216:193(i16vec3) Load 195(u16v)
|
||||
217:193(i16vec3) Load 195(u16v)
|
||||
218:193(i16vec3) ISub 217 216
|
||||
Store 195(u16v) 218
|
||||
221: 14(int16_t) Load 200(i16)
|
||||
222: 27(int) SConvert 221
|
||||
223: 27(int) Load 220(i)
|
||||
224: 27(int) IMul 223 222
|
||||
Store 220(i) 224
|
||||
228:193(i16vec3) Load 195(u16v)
|
||||
229: 225(ivec3) UConvert 228
|
||||
230: 225(ivec3) Load 227(uv)
|
||||
231: 225(ivec3) UDiv 230 229
|
||||
Store 227(uv) 231
|
||||
232: 14(int16_t) Load 200(i16)
|
||||
233: 27(int) SConvert 232
|
||||
234: 17(int) Bitcast 233
|
||||
235: 225(ivec3) Load 227(uv)
|
||||
236: 225(ivec3) CompositeConstruct 234 234 234
|
||||
237: 225(ivec3) UMod 235 236
|
||||
Store 227(uv) 237
|
||||
238:193(i16vec3) Load 195(u16v)
|
||||
239: 225(ivec3) UConvert 238
|
||||
240: 225(ivec3) Load 227(uv)
|
||||
241: 225(ivec3) IAdd 239 240
|
||||
Store 227(uv) 241
|
||||
244: 14(int16_t) Load 200(i16)
|
||||
245: 71(int64_t) SConvert 244
|
||||
246: 71(int64_t) Load 243(i64)
|
||||
247: 71(int64_t) ISub 245 246
|
||||
Store 243(i64) 247
|
||||
248:193(i16vec3) Load 195(u16v)
|
||||
249: 225(ivec3) UConvert 248
|
||||
250: 225(ivec3) Load 227(uv)
|
||||
251: 225(ivec3) IMul 249 250
|
||||
Store 227(uv) 251
|
||||
252: 14(int16_t) Load 200(i16)
|
||||
253: 71(int64_t) SConvert 252
|
||||
254: 71(int64_t) Load 243(i64)
|
||||
255: 71(int64_t) IMul 253 254
|
||||
Store 243(i64) 255
|
||||
256: 14(int16_t) Load 200(i16)
|
||||
257: 27(int) SConvert 256
|
||||
258: 27(int) Load 220(i)
|
||||
259: 27(int) SMod 257 258
|
||||
Store 220(i) 259
|
||||
260: 14(int16_t) Load 200(i16)
|
||||
261:193(i16vec3) Load 195(u16v)
|
||||
262:197(i16vec3) CompositeConstruct 260 260 260
|
||||
263:193(i16vec3) ShiftLeftLogical 261 262
|
||||
Store 195(u16v) 263
|
||||
265: 37(ptr) AccessChain 195(u16v) 264
|
||||
266: 36(int16_t) Load 265
|
||||
267: 14(int16_t) Load 200(i16)
|
||||
268: 14(int16_t) ShiftRightArithmetic 267 266
|
||||
Store 200(i16) 268
|
||||
269: 14(int16_t) Load 200(i16)
|
||||
271: 37(ptr) AccessChain 195(u16v) 270
|
||||
272: 36(int16_t) Load 271
|
||||
273: 14(int16_t) ShiftLeftLogical 269 272
|
||||
Store 200(i16) 273
|
||||
274:193(i16vec3) Load 195(u16v)
|
||||
275: 27(int) Load 220(i)
|
||||
277: 276(ivec3) CompositeConstruct 275 275 275
|
||||
278:193(i16vec3) ShiftLeftLogical 274 277
|
||||
279: 225(ivec3) UConvert 278
|
||||
Store 227(uv) 279
|
||||
283: 37(ptr) AccessChain 195(u16v) 282
|
||||
284: 36(int16_t) Load 283
|
||||
285: 14(int16_t) Load 200(i16)
|
||||
286: 36(int16_t) Bitcast 285
|
||||
287: 173(bool) INotEqual 284 286
|
||||
Store 281(b) 287
|
||||
288: 14(int16_t) Load 200(i16)
|
||||
289: 36(int16_t) Bitcast 288
|
||||
290: 37(ptr) AccessChain 195(u16v) 282
|
||||
291: 36(int16_t) Load 290
|
||||
292: 173(bool) IEqual 289 291
|
||||
Store 281(b) 292
|
||||
293: 37(ptr) AccessChain 195(u16v) 282
|
||||
294: 36(int16_t) Load 293
|
||||
295: 17(int) UConvert 294
|
||||
297: 296(ptr) AccessChain 227(uv) 264
|
||||
298: 17(int) Load 297
|
||||
299: 173(bool) UGreaterThan 295 298
|
||||
Store 281(b) 299
|
||||
300: 14(int16_t) Load 200(i16)
|
||||
301: 27(int) SConvert 300
|
||||
302: 27(int) Load 220(i)
|
||||
303: 173(bool) SLessThan 301 302
|
||||
Store 281(b) 303
|
||||
304: 37(ptr) AccessChain 195(u16v) 264
|
||||
305: 36(int16_t) Load 304
|
||||
306: 17(int) UConvert 305
|
||||
307: 296(ptr) AccessChain 227(uv) 282
|
||||
308: 17(int) Load 307
|
||||
309: 173(bool) UGreaterThanEqual 306 308
|
||||
Store 281(b) 309
|
||||
310: 14(int16_t) Load 200(i16)
|
||||
311: 27(int) SConvert 310
|
||||
312: 27(int) Load 220(i)
|
||||
313: 173(bool) SLessThanEqual 311 312
|
||||
Store 281(b) 313
|
||||
314: 14(int16_t) Load 200(i16)
|
||||
315: 27(int) SConvert 314
|
||||
316: 17(int) Bitcast 315
|
||||
317: 225(ivec3) Load 227(uv)
|
||||
318: 225(ivec3) CompositeConstruct 316 316 316
|
||||
319: 225(ivec3) BitwiseOr 317 318
|
||||
Store 227(uv) 319
|
||||
320: 14(int16_t) Load 200(i16)
|
||||
321: 27(int) SConvert 320
|
||||
322: 27(int) Load 220(i)
|
||||
323: 27(int) BitwiseOr 321 322
|
||||
Store 220(i) 323
|
||||
324: 14(int16_t) Load 200(i16)
|
||||
325: 71(int64_t) SConvert 324
|
||||
326: 71(int64_t) Load 243(i64)
|
||||
327: 71(int64_t) BitwiseAnd 326 325
|
||||
Store 243(i64) 327
|
||||
328:193(i16vec3) Load 195(u16v)
|
||||
329: 225(ivec3) UConvert 328
|
||||
330: 225(ivec3) Load 227(uv)
|
||||
331: 225(ivec3) BitwiseAnd 329 330
|
||||
Store 227(uv) 331
|
||||
332: 14(int16_t) Load 200(i16)
|
||||
333: 27(int) SConvert 332
|
||||
334: 17(int) Bitcast 333
|
||||
335: 225(ivec3) Load 227(uv)
|
||||
336: 225(ivec3) CompositeConstruct 334 334 334
|
||||
337: 225(ivec3) BitwiseXor 335 336
|
||||
Store 227(uv) 337
|
||||
338:193(i16vec3) Load 195(u16v)
|
||||
339: 14(int16_t) Load 200(i16)
|
||||
340: 36(int16_t) Bitcast 339
|
||||
341:193(i16vec3) CompositeConstruct 340 340 340
|
||||
342:193(i16vec3) BitwiseXor 338 341
|
||||
Store 195(u16v) 342
|
||||
196(arr): 195(ptr) Variable Function
|
||||
204(u16v): 203(ptr) Variable Function
|
||||
209(i16): 15(ptr) Variable Function
|
||||
229(i): 228(ptr) Variable Function
|
||||
236(uv): 235(ptr) Variable Function
|
||||
252(i64): 251(ptr) Variable Function
|
||||
290(b): 289(ptr) Variable Function
|
||||
353(f): 352(ptr) Variable Function
|
||||
Store 196(arr) 201
|
||||
205:202(i16vec3) Load 204(u16v)
|
||||
207:206(i16vec3) CompositeConstruct 179 179 179
|
||||
208:202(i16vec3) IAdd 205 207
|
||||
Store 204(u16v) 208
|
||||
210: 14(int16_t) Load 209(i16)
|
||||
211: 14(int16_t) ISub 210 179
|
||||
Store 209(i16) 211
|
||||
212: 14(int16_t) Load 209(i16)
|
||||
213: 14(int16_t) IAdd 212 179
|
||||
Store 209(i16) 213
|
||||
214:202(i16vec3) Load 204(u16v)
|
||||
215:206(i16vec3) CompositeConstruct 179 179 179
|
||||
216:202(i16vec3) ISub 214 215
|
||||
Store 204(u16v) 216
|
||||
217:202(i16vec3) Load 204(u16v)
|
||||
218:202(i16vec3) Not 217
|
||||
Store 204(u16v) 218
|
||||
219: 14(int16_t) Load 209(i16)
|
||||
Store 209(i16) 219
|
||||
220:202(i16vec3) Load 204(u16v)
|
||||
221:202(i16vec3) SNegate 220
|
||||
Store 204(u16v) 221
|
||||
222: 14(int16_t) Load 209(i16)
|
||||
223: 14(int16_t) Load 209(i16)
|
||||
224: 14(int16_t) IAdd 223 222
|
||||
Store 209(i16) 224
|
||||
225:202(i16vec3) Load 204(u16v)
|
||||
226:202(i16vec3) Load 204(u16v)
|
||||
227:202(i16vec3) ISub 226 225
|
||||
Store 204(u16v) 227
|
||||
230: 14(int16_t) Load 209(i16)
|
||||
231: 27(int) SConvert 230
|
||||
232: 27(int) Load 229(i)
|
||||
233: 27(int) IMul 232 231
|
||||
Store 229(i) 233
|
||||
237:202(i16vec3) Load 204(u16v)
|
||||
238: 234(ivec3) UConvert 237
|
||||
239: 234(ivec3) Load 236(uv)
|
||||
240: 234(ivec3) UDiv 239 238
|
||||
Store 236(uv) 240
|
||||
241: 14(int16_t) Load 209(i16)
|
||||
242: 27(int) SConvert 241
|
||||
243: 17(int) Bitcast 242
|
||||
244: 234(ivec3) Load 236(uv)
|
||||
245: 234(ivec3) CompositeConstruct 243 243 243
|
||||
246: 234(ivec3) UMod 244 245
|
||||
Store 236(uv) 246
|
||||
247:202(i16vec3) Load 204(u16v)
|
||||
248: 234(ivec3) UConvert 247
|
||||
249: 234(ivec3) Load 236(uv)
|
||||
250: 234(ivec3) IAdd 248 249
|
||||
Store 236(uv) 250
|
||||
253: 14(int16_t) Load 209(i16)
|
||||
254: 71(int64_t) SConvert 253
|
||||
255: 71(int64_t) Load 252(i64)
|
||||
256: 71(int64_t) ISub 254 255
|
||||
Store 252(i64) 256
|
||||
257:202(i16vec3) Load 204(u16v)
|
||||
258: 234(ivec3) UConvert 257
|
||||
259: 234(ivec3) Load 236(uv)
|
||||
260: 234(ivec3) IMul 258 259
|
||||
Store 236(uv) 260
|
||||
261: 14(int16_t) Load 209(i16)
|
||||
262: 71(int64_t) SConvert 261
|
||||
263: 71(int64_t) Load 252(i64)
|
||||
264: 71(int64_t) IMul 262 263
|
||||
Store 252(i64) 264
|
||||
265: 14(int16_t) Load 209(i16)
|
||||
266: 27(int) SConvert 265
|
||||
267: 27(int) Load 229(i)
|
||||
268: 27(int) SMod 266 267
|
||||
Store 229(i) 268
|
||||
269: 14(int16_t) Load 209(i16)
|
||||
270:202(i16vec3) Load 204(u16v)
|
||||
271:206(i16vec3) CompositeConstruct 269 269 269
|
||||
272:202(i16vec3) ShiftLeftLogical 270 271
|
||||
Store 204(u16v) 272
|
||||
274: 37(ptr) AccessChain 204(u16v) 273
|
||||
275: 36(int16_t) Load 274
|
||||
276: 14(int16_t) Load 209(i16)
|
||||
277: 14(int16_t) ShiftRightArithmetic 276 275
|
||||
Store 209(i16) 277
|
||||
278: 14(int16_t) Load 209(i16)
|
||||
280: 37(ptr) AccessChain 204(u16v) 279
|
||||
281: 36(int16_t) Load 280
|
||||
282: 14(int16_t) ShiftLeftLogical 278 281
|
||||
Store 209(i16) 282
|
||||
283:202(i16vec3) Load 204(u16v)
|
||||
284: 27(int) Load 229(i)
|
||||
286: 285(ivec3) CompositeConstruct 284 284 284
|
||||
287:202(i16vec3) ShiftLeftLogical 283 286
|
||||
288: 234(ivec3) UConvert 287
|
||||
Store 236(uv) 288
|
||||
292: 37(ptr) AccessChain 204(u16v) 291
|
||||
293: 36(int16_t) Load 292
|
||||
294: 14(int16_t) Load 209(i16)
|
||||
295: 36(int16_t) Bitcast 294
|
||||
296: 173(bool) INotEqual 293 295
|
||||
Store 290(b) 296
|
||||
297: 14(int16_t) Load 209(i16)
|
||||
298: 36(int16_t) Bitcast 297
|
||||
299: 37(ptr) AccessChain 204(u16v) 291
|
||||
300: 36(int16_t) Load 299
|
||||
301: 173(bool) IEqual 298 300
|
||||
Store 290(b) 301
|
||||
302: 37(ptr) AccessChain 204(u16v) 291
|
||||
303: 36(int16_t) Load 302
|
||||
304: 17(int) UConvert 303
|
||||
306: 305(ptr) AccessChain 236(uv) 273
|
||||
307: 17(int) Load 306
|
||||
308: 173(bool) UGreaterThan 304 307
|
||||
Store 290(b) 308
|
||||
309: 14(int16_t) Load 209(i16)
|
||||
310: 27(int) SConvert 309
|
||||
311: 27(int) Load 229(i)
|
||||
312: 173(bool) SLessThan 310 311
|
||||
Store 290(b) 312
|
||||
313: 37(ptr) AccessChain 204(u16v) 273
|
||||
314: 36(int16_t) Load 313
|
||||
315: 17(int) UConvert 314
|
||||
316: 305(ptr) AccessChain 236(uv) 291
|
||||
317: 17(int) Load 316
|
||||
318: 173(bool) UGreaterThanEqual 315 317
|
||||
Store 290(b) 318
|
||||
319: 14(int16_t) Load 209(i16)
|
||||
320: 27(int) SConvert 319
|
||||
321: 27(int) Load 229(i)
|
||||
322: 173(bool) SLessThanEqual 320 321
|
||||
Store 290(b) 322
|
||||
323: 14(int16_t) Load 209(i16)
|
||||
324: 27(int) SConvert 323
|
||||
325: 17(int) Bitcast 324
|
||||
326: 234(ivec3) Load 236(uv)
|
||||
327: 234(ivec3) CompositeConstruct 325 325 325
|
||||
328: 234(ivec3) BitwiseOr 326 327
|
||||
Store 236(uv) 328
|
||||
329: 14(int16_t) Load 209(i16)
|
||||
330: 27(int) SConvert 329
|
||||
331: 27(int) Load 229(i)
|
||||
332: 27(int) BitwiseOr 330 331
|
||||
Store 229(i) 332
|
||||
333: 14(int16_t) Load 209(i16)
|
||||
334: 71(int64_t) SConvert 333
|
||||
335: 71(int64_t) Load 252(i64)
|
||||
336: 71(int64_t) BitwiseAnd 335 334
|
||||
Store 252(i64) 336
|
||||
337:202(i16vec3) Load 204(u16v)
|
||||
338: 234(ivec3) UConvert 337
|
||||
339: 234(ivec3) Load 236(uv)
|
||||
340: 234(ivec3) BitwiseAnd 338 339
|
||||
Store 236(uv) 340
|
||||
341: 14(int16_t) Load 209(i16)
|
||||
342: 27(int) SConvert 341
|
||||
343: 17(int) Bitcast 342
|
||||
344: 234(ivec3) Load 236(uv)
|
||||
345: 234(ivec3) CompositeConstruct 343 343 343
|
||||
346: 234(ivec3) BitwiseXor 344 345
|
||||
Store 236(uv) 346
|
||||
347:202(i16vec3) Load 204(u16v)
|
||||
348: 14(int16_t) Load 209(i16)
|
||||
349: 36(int16_t) Bitcast 348
|
||||
350:202(i16vec3) CompositeConstruct 349 349 349
|
||||
351:202(i16vec3) BitwiseXor 347 350
|
||||
Store 204(u16v) 351
|
||||
354: 14(int16_t) Load 209(i16)
|
||||
355: 352(ptr) AccessChain 196(arr) 354
|
||||
356: 97(float) Load 355
|
||||
Store 353(f) 356
|
||||
Return
|
||||
FunctionEnd
|
||||
12(builtinFuncs(): 2 Function None 3
|
||||
13: Label
|
||||
343(i16v): 53(ptr) Variable Function
|
||||
346(i16): 15(ptr) Variable Function
|
||||
356(u16v): 194(ptr) Variable Function
|
||||
358(u16): 37(ptr) Variable Function
|
||||
428(i32): 219(ptr) Variable Function
|
||||
431(i64): 242(ptr) Variable Function
|
||||
434(i16v4): 433(ptr) Variable Function
|
||||
437(u32): 296(ptr) Variable Function
|
||||
438(u16v2): 58(ptr) Variable Function
|
||||
442(u64): 441(ptr) Variable Function
|
||||
445(u16v4): 444(ptr) Variable Function
|
||||
457(bv): 456(ptr) Variable Function
|
||||
344: 52(i16vec2) Load 343(i16v)
|
||||
345: 52(i16vec2) ExtInst 1(GLSL.std.450) 5(SAbs) 344
|
||||
Store 343(i16v) 345
|
||||
347: 14(int16_t) Load 346(i16)
|
||||
348: 14(int16_t) ExtInst 1(GLSL.std.450) 7(SSign) 347
|
||||
Store 346(i16) 348
|
||||
349: 52(i16vec2) Load 343(i16v)
|
||||
350: 14(int16_t) Load 346(i16)
|
||||
351: 52(i16vec2) CompositeConstruct 350 350
|
||||
352: 52(i16vec2) ExtInst 1(GLSL.std.450) 39(SMin) 349 351
|
||||
Store 343(i16v) 352
|
||||
353: 52(i16vec2) Load 343(i16v)
|
||||
355: 52(i16vec2) ExtInst 1(GLSL.std.450) 39(SMin) 353 354
|
||||
Store 343(i16v) 355
|
||||
357:193(i16vec3) Load 356(u16v)
|
||||
359: 36(int16_t) Load 358(u16)
|
||||
360:193(i16vec3) CompositeConstruct 359 359 359
|
||||
361:193(i16vec3) ExtInst 1(GLSL.std.450) 38(UMin) 357 360
|
||||
Store 356(u16v) 361
|
||||
362:193(i16vec3) Load 356(u16v)
|
||||
364:193(i16vec3) ExtInst 1(GLSL.std.450) 38(UMin) 362 363
|
||||
Store 356(u16v) 364
|
||||
365: 52(i16vec2) Load 343(i16v)
|
||||
366: 14(int16_t) Load 346(i16)
|
||||
367: 52(i16vec2) CompositeConstruct 366 366
|
||||
368: 52(i16vec2) ExtInst 1(GLSL.std.450) 42(SMax) 365 367
|
||||
Store 343(i16v) 368
|
||||
369: 52(i16vec2) Load 343(i16v)
|
||||
370: 52(i16vec2) ExtInst 1(GLSL.std.450) 42(SMax) 369 354
|
||||
Store 343(i16v) 370
|
||||
371:193(i16vec3) Load 356(u16v)
|
||||
372: 36(int16_t) Load 358(u16)
|
||||
373:193(i16vec3) CompositeConstruct 372 372 372
|
||||
374:193(i16vec3) ExtInst 1(GLSL.std.450) 41(UMax) 371 373
|
||||
Store 356(u16v) 374
|
||||
375:193(i16vec3) Load 356(u16v)
|
||||
376:193(i16vec3) ExtInst 1(GLSL.std.450) 41(UMax) 375 363
|
||||
Store 356(u16v) 376
|
||||
377: 52(i16vec2) Load 343(i16v)
|
||||
378: 14(int16_t) Load 346(i16)
|
||||
379: 14(int16_t) SNegate 378
|
||||
380: 14(int16_t) Load 346(i16)
|
||||
381: 52(i16vec2) CompositeConstruct 379 379
|
||||
382: 52(i16vec2) CompositeConstruct 380 380
|
||||
383: 52(i16vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 377 381 382
|
||||
Store 343(i16v) 383
|
||||
384: 52(i16vec2) Load 343(i16v)
|
||||
385: 52(i16vec2) Load 343(i16v)
|
||||
386: 52(i16vec2) SNegate 385
|
||||
387: 52(i16vec2) Load 343(i16v)
|
||||
388: 52(i16vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 384 386 387
|
||||
Store 343(i16v) 388
|
||||
389:193(i16vec3) Load 356(u16v)
|
||||
390: 36(int16_t) Load 358(u16)
|
||||
391: 36(int16_t) SNegate 390
|
||||
392: 36(int16_t) Load 358(u16)
|
||||
393:193(i16vec3) CompositeConstruct 391 391 391
|
||||
394:193(i16vec3) CompositeConstruct 392 392 392
|
||||
395:193(i16vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 389 393 394
|
||||
Store 356(u16v) 395
|
||||
396:193(i16vec3) Load 356(u16v)
|
||||
397:193(i16vec3) Load 356(u16v)
|
||||
398:193(i16vec3) SNegate 397
|
||||
399:193(i16vec3) Load 356(u16v)
|
||||
400:193(i16vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 396 398 399
|
||||
Store 356(u16v) 400
|
||||
401: 15(ptr) AccessChain 343(i16v) 282
|
||||
402: 14(int16_t) Load 401
|
||||
403: 15(ptr) AccessChain 343(i16v) 264
|
||||
404: 14(int16_t) Load 403
|
||||
406: 14(int16_t) Select 405 404 402
|
||||
Store 346(i16) 406
|
||||
407: 14(int16_t) Load 346(i16)
|
||||
408: 52(i16vec2) CompositeConstruct 407 407
|
||||
409: 14(int16_t) Load 346(i16)
|
||||
410: 14(int16_t) SNegate 409
|
||||
411: 52(i16vec2) CompositeConstruct 410 410
|
||||
414: 52(i16vec2) Select 413 411 408
|
||||
Store 343(i16v) 414
|
||||
415: 37(ptr) AccessChain 356(u16v) 282
|
||||
416: 36(int16_t) Load 415
|
||||
417: 37(ptr) AccessChain 356(u16v) 264
|
||||
418: 36(int16_t) Load 417
|
||||
419: 36(int16_t) Select 405 418 416
|
||||
Store 358(u16) 419
|
||||
420: 36(int16_t) Load 358(u16)
|
||||
421:193(i16vec3) CompositeConstruct 420 420 420
|
||||
422: 36(int16_t) Load 358(u16)
|
||||
423: 36(int16_t) SNegate 422
|
||||
424:193(i16vec3) CompositeConstruct 423 423 423
|
||||
427:193(i16vec3) Select 426 424 421
|
||||
Store 356(u16v) 427
|
||||
429: 52(i16vec2) Load 343(i16v)
|
||||
430: 27(int) Bitcast 429
|
||||
Store 428(i32) 430
|
||||
435:432(i16vec4) Load 434(i16v4)
|
||||
436: 71(int64_t) Bitcast 435
|
||||
Store 431(i64) 436
|
||||
439: 57(i16vec2) Load 438(u16v2)
|
||||
440: 17(int) Bitcast 439
|
||||
Store 437(u32) 440
|
||||
446:443(i16vec4) Load 445(u16v4)
|
||||
447: 77(int64_t) Bitcast 446
|
||||
Store 442(u64) 447
|
||||
448: 27(int) Load 428(i32)
|
||||
449: 52(i16vec2) Bitcast 448
|
||||
Store 343(i16v) 449
|
||||
450: 71(int64_t) Load 431(i64)
|
||||
451:432(i16vec4) Bitcast 450
|
||||
Store 434(i16v4) 451
|
||||
452: 17(int) Load 437(u32)
|
||||
453: 57(i16vec2) Bitcast 452
|
||||
Store 438(u16v2) 453
|
||||
454: 77(int64_t) Load 442(u64)
|
||||
455:443(i16vec4) Bitcast 454
|
||||
Store 445(u16v4) 455
|
||||
458:193(i16vec3) Load 356(u16v)
|
||||
459: 36(int16_t) Load 358(u16)
|
||||
460:193(i16vec3) CompositeConstruct 459 459 459
|
||||
461: 425(bvec3) ULessThan 458 460
|
||||
Store 457(bv) 461
|
||||
462: 52(i16vec2) Load 343(i16v)
|
||||
463: 14(int16_t) Load 346(i16)
|
||||
464: 52(i16vec2) CompositeConstruct 463 463
|
||||
465: 174(bvec2) SLessThan 462 464
|
||||
466: 280(ptr) AccessChain 457(bv) 282
|
||||
467: 173(bool) CompositeExtract 465 0
|
||||
Store 466 467
|
||||
468: 280(ptr) AccessChain 457(bv) 264
|
||||
469: 173(bool) CompositeExtract 465 1
|
||||
Store 468 469
|
||||
470:193(i16vec3) Load 356(u16v)
|
||||
471: 36(int16_t) Load 358(u16)
|
||||
472:193(i16vec3) CompositeConstruct 471 471 471
|
||||
473: 425(bvec3) ULessThanEqual 470 472
|
||||
Store 457(bv) 473
|
||||
474: 52(i16vec2) Load 343(i16v)
|
||||
475: 14(int16_t) Load 346(i16)
|
||||
476: 52(i16vec2) CompositeConstruct 475 475
|
||||
477: 174(bvec2) SLessThanEqual 474 476
|
||||
478: 280(ptr) AccessChain 457(bv) 282
|
||||
479: 173(bool) CompositeExtract 477 0
|
||||
Store 478 479
|
||||
480: 280(ptr) AccessChain 457(bv) 264
|
||||
481: 173(bool) CompositeExtract 477 1
|
||||
357(i16v): 53(ptr) Variable Function
|
||||
360(i16): 15(ptr) Variable Function
|
||||
370(u16v): 203(ptr) Variable Function
|
||||
372(u16): 37(ptr) Variable Function
|
||||
442(i32): 228(ptr) Variable Function
|
||||
445(i64): 251(ptr) Variable Function
|
||||
448(i16v4): 447(ptr) Variable Function
|
||||
451(u32): 305(ptr) Variable Function
|
||||
452(u16v2): 58(ptr) Variable Function
|
||||
456(u64): 455(ptr) Variable Function
|
||||
459(u16v4): 458(ptr) Variable Function
|
||||
471(bv): 470(ptr) Variable Function
|
||||
358: 52(i16vec2) Load 357(i16v)
|
||||
359: 52(i16vec2) ExtInst 1(GLSL.std.450) 5(SAbs) 358
|
||||
Store 357(i16v) 359
|
||||
361: 14(int16_t) Load 360(i16)
|
||||
362: 14(int16_t) ExtInst 1(GLSL.std.450) 7(SSign) 361
|
||||
Store 360(i16) 362
|
||||
363: 52(i16vec2) Load 357(i16v)
|
||||
364: 14(int16_t) Load 360(i16)
|
||||
365: 52(i16vec2) CompositeConstruct 364 364
|
||||
366: 52(i16vec2) ExtInst 1(GLSL.std.450) 39(SMin) 363 365
|
||||
Store 357(i16v) 366
|
||||
367: 52(i16vec2) Load 357(i16v)
|
||||
369: 52(i16vec2) ExtInst 1(GLSL.std.450) 39(SMin) 367 368
|
||||
Store 357(i16v) 369
|
||||
371:202(i16vec3) Load 370(u16v)
|
||||
373: 36(int16_t) Load 372(u16)
|
||||
374:202(i16vec3) CompositeConstruct 373 373 373
|
||||
375:202(i16vec3) ExtInst 1(GLSL.std.450) 38(UMin) 371 374
|
||||
Store 370(u16v) 375
|
||||
376:202(i16vec3) Load 370(u16v)
|
||||
378:202(i16vec3) ExtInst 1(GLSL.std.450) 38(UMin) 376 377
|
||||
Store 370(u16v) 378
|
||||
379: 52(i16vec2) Load 357(i16v)
|
||||
380: 14(int16_t) Load 360(i16)
|
||||
381: 52(i16vec2) CompositeConstruct 380 380
|
||||
382: 52(i16vec2) ExtInst 1(GLSL.std.450) 42(SMax) 379 381
|
||||
Store 357(i16v) 382
|
||||
383: 52(i16vec2) Load 357(i16v)
|
||||
384: 52(i16vec2) ExtInst 1(GLSL.std.450) 42(SMax) 383 368
|
||||
Store 357(i16v) 384
|
||||
385:202(i16vec3) Load 370(u16v)
|
||||
386: 36(int16_t) Load 372(u16)
|
||||
387:202(i16vec3) CompositeConstruct 386 386 386
|
||||
388:202(i16vec3) ExtInst 1(GLSL.std.450) 41(UMax) 385 387
|
||||
Store 370(u16v) 388
|
||||
389:202(i16vec3) Load 370(u16v)
|
||||
390:202(i16vec3) ExtInst 1(GLSL.std.450) 41(UMax) 389 377
|
||||
Store 370(u16v) 390
|
||||
391: 52(i16vec2) Load 357(i16v)
|
||||
392: 14(int16_t) Load 360(i16)
|
||||
393: 14(int16_t) SNegate 392
|
||||
394: 14(int16_t) Load 360(i16)
|
||||
395: 52(i16vec2) CompositeConstruct 393 393
|
||||
396: 52(i16vec2) CompositeConstruct 394 394
|
||||
397: 52(i16vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 391 395 396
|
||||
Store 357(i16v) 397
|
||||
398: 52(i16vec2) Load 357(i16v)
|
||||
399: 52(i16vec2) Load 357(i16v)
|
||||
400: 52(i16vec2) SNegate 399
|
||||
401: 52(i16vec2) Load 357(i16v)
|
||||
402: 52(i16vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 398 400 401
|
||||
Store 357(i16v) 402
|
||||
403:202(i16vec3) Load 370(u16v)
|
||||
404: 36(int16_t) Load 372(u16)
|
||||
405: 36(int16_t) SNegate 404
|
||||
406: 36(int16_t) Load 372(u16)
|
||||
407:202(i16vec3) CompositeConstruct 405 405 405
|
||||
408:202(i16vec3) CompositeConstruct 406 406 406
|
||||
409:202(i16vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 403 407 408
|
||||
Store 370(u16v) 409
|
||||
410:202(i16vec3) Load 370(u16v)
|
||||
411:202(i16vec3) Load 370(u16v)
|
||||
412:202(i16vec3) SNegate 411
|
||||
413:202(i16vec3) Load 370(u16v)
|
||||
414:202(i16vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 410 412 413
|
||||
Store 370(u16v) 414
|
||||
415: 15(ptr) AccessChain 357(i16v) 291
|
||||
416: 14(int16_t) Load 415
|
||||
417: 15(ptr) AccessChain 357(i16v) 273
|
||||
418: 14(int16_t) Load 417
|
||||
420: 14(int16_t) Select 419 418 416
|
||||
Store 360(i16) 420
|
||||
421: 14(int16_t) Load 360(i16)
|
||||
422: 52(i16vec2) CompositeConstruct 421 421
|
||||
423: 14(int16_t) Load 360(i16)
|
||||
424: 14(int16_t) SNegate 423
|
||||
425: 52(i16vec2) CompositeConstruct 424 424
|
||||
428: 52(i16vec2) Select 427 425 422
|
||||
Store 357(i16v) 428
|
||||
429: 37(ptr) AccessChain 370(u16v) 291
|
||||
430: 36(int16_t) Load 429
|
||||
431: 37(ptr) AccessChain 370(u16v) 273
|
||||
432: 36(int16_t) Load 431
|
||||
433: 36(int16_t) Select 419 432 430
|
||||
Store 372(u16) 433
|
||||
434: 36(int16_t) Load 372(u16)
|
||||
435:202(i16vec3) CompositeConstruct 434 434 434
|
||||
436: 36(int16_t) Load 372(u16)
|
||||
437: 36(int16_t) SNegate 436
|
||||
438:202(i16vec3) CompositeConstruct 437 437 437
|
||||
441:202(i16vec3) Select 440 438 435
|
||||
Store 370(u16v) 441
|
||||
443: 52(i16vec2) Load 357(i16v)
|
||||
444: 27(int) Bitcast 443
|
||||
Store 442(i32) 444
|
||||
449:446(i16vec4) Load 448(i16v4)
|
||||
450: 71(int64_t) Bitcast 449
|
||||
Store 445(i64) 450
|
||||
453: 57(i16vec2) Load 452(u16v2)
|
||||
454: 17(int) Bitcast 453
|
||||
Store 451(u32) 454
|
||||
460:457(i16vec4) Load 459(u16v4)
|
||||
461: 77(int64_t) Bitcast 460
|
||||
Store 456(u64) 461
|
||||
462: 27(int) Load 442(i32)
|
||||
463: 52(i16vec2) Bitcast 462
|
||||
Store 357(i16v) 463
|
||||
464: 71(int64_t) Load 445(i64)
|
||||
465:446(i16vec4) Bitcast 464
|
||||
Store 448(i16v4) 465
|
||||
466: 17(int) Load 451(u32)
|
||||
467: 57(i16vec2) Bitcast 466
|
||||
Store 452(u16v2) 467
|
||||
468: 77(int64_t) Load 456(u64)
|
||||
469:457(i16vec4) Bitcast 468
|
||||
Store 459(u16v4) 469
|
||||
472:202(i16vec3) Load 370(u16v)
|
||||
473: 36(int16_t) Load 372(u16)
|
||||
474:202(i16vec3) CompositeConstruct 473 473 473
|
||||
475: 439(bvec3) ULessThan 472 474
|
||||
Store 471(bv) 475
|
||||
476: 52(i16vec2) Load 357(i16v)
|
||||
477: 14(int16_t) Load 360(i16)
|
||||
478: 52(i16vec2) CompositeConstruct 477 477
|
||||
479: 174(bvec2) SLessThan 476 478
|
||||
480: 289(ptr) AccessChain 471(bv) 291
|
||||
481: 173(bool) CompositeExtract 479 0
|
||||
Store 480 481
|
||||
482:193(i16vec3) Load 356(u16v)
|
||||
483: 36(int16_t) Load 358(u16)
|
||||
484:193(i16vec3) CompositeConstruct 483 483 483
|
||||
485: 425(bvec3) UGreaterThan 482 484
|
||||
Store 457(bv) 485
|
||||
486: 52(i16vec2) Load 343(i16v)
|
||||
487: 14(int16_t) Load 346(i16)
|
||||
488: 52(i16vec2) CompositeConstruct 487 487
|
||||
489: 174(bvec2) SGreaterThan 486 488
|
||||
490: 280(ptr) AccessChain 457(bv) 282
|
||||
491: 173(bool) CompositeExtract 489 0
|
||||
Store 490 491
|
||||
492: 280(ptr) AccessChain 457(bv) 264
|
||||
493: 173(bool) CompositeExtract 489 1
|
||||
482: 289(ptr) AccessChain 471(bv) 273
|
||||
483: 173(bool) CompositeExtract 479 1
|
||||
Store 482 483
|
||||
484:202(i16vec3) Load 370(u16v)
|
||||
485: 36(int16_t) Load 372(u16)
|
||||
486:202(i16vec3) CompositeConstruct 485 485 485
|
||||
487: 439(bvec3) ULessThanEqual 484 486
|
||||
Store 471(bv) 487
|
||||
488: 52(i16vec2) Load 357(i16v)
|
||||
489: 14(int16_t) Load 360(i16)
|
||||
490: 52(i16vec2) CompositeConstruct 489 489
|
||||
491: 174(bvec2) SLessThanEqual 488 490
|
||||
492: 289(ptr) AccessChain 471(bv) 291
|
||||
493: 173(bool) CompositeExtract 491 0
|
||||
Store 492 493
|
||||
494:193(i16vec3) Load 356(u16v)
|
||||
495: 36(int16_t) Load 358(u16)
|
||||
496:193(i16vec3) CompositeConstruct 495 495 495
|
||||
497: 425(bvec3) UGreaterThanEqual 494 496
|
||||
Store 457(bv) 497
|
||||
498: 52(i16vec2) Load 343(i16v)
|
||||
499: 14(int16_t) Load 346(i16)
|
||||
500: 52(i16vec2) CompositeConstruct 499 499
|
||||
501: 174(bvec2) SGreaterThanEqual 498 500
|
||||
502: 280(ptr) AccessChain 457(bv) 282
|
||||
503: 173(bool) CompositeExtract 501 0
|
||||
Store 502 503
|
||||
504: 280(ptr) AccessChain 457(bv) 264
|
||||
505: 173(bool) CompositeExtract 501 1
|
||||
494: 289(ptr) AccessChain 471(bv) 273
|
||||
495: 173(bool) CompositeExtract 491 1
|
||||
Store 494 495
|
||||
496:202(i16vec3) Load 370(u16v)
|
||||
497: 36(int16_t) Load 372(u16)
|
||||
498:202(i16vec3) CompositeConstruct 497 497 497
|
||||
499: 439(bvec3) UGreaterThan 496 498
|
||||
Store 471(bv) 499
|
||||
500: 52(i16vec2) Load 357(i16v)
|
||||
501: 14(int16_t) Load 360(i16)
|
||||
502: 52(i16vec2) CompositeConstruct 501 501
|
||||
503: 174(bvec2) SGreaterThan 500 502
|
||||
504: 289(ptr) AccessChain 471(bv) 291
|
||||
505: 173(bool) CompositeExtract 503 0
|
||||
Store 504 505
|
||||
506:193(i16vec3) Load 356(u16v)
|
||||
507: 36(int16_t) Load 358(u16)
|
||||
508:193(i16vec3) CompositeConstruct 507 507 507
|
||||
509: 425(bvec3) IEqual 506 508
|
||||
Store 457(bv) 509
|
||||
510: 52(i16vec2) Load 343(i16v)
|
||||
511: 14(int16_t) Load 346(i16)
|
||||
512: 52(i16vec2) CompositeConstruct 511 511
|
||||
513: 174(bvec2) IEqual 510 512
|
||||
514: 280(ptr) AccessChain 457(bv) 282
|
||||
515: 173(bool) CompositeExtract 513 0
|
||||
Store 514 515
|
||||
516: 280(ptr) AccessChain 457(bv) 264
|
||||
517: 173(bool) CompositeExtract 513 1
|
||||
506: 289(ptr) AccessChain 471(bv) 273
|
||||
507: 173(bool) CompositeExtract 503 1
|
||||
Store 506 507
|
||||
508:202(i16vec3) Load 370(u16v)
|
||||
509: 36(int16_t) Load 372(u16)
|
||||
510:202(i16vec3) CompositeConstruct 509 509 509
|
||||
511: 439(bvec3) UGreaterThanEqual 508 510
|
||||
Store 471(bv) 511
|
||||
512: 52(i16vec2) Load 357(i16v)
|
||||
513: 14(int16_t) Load 360(i16)
|
||||
514: 52(i16vec2) CompositeConstruct 513 513
|
||||
515: 174(bvec2) SGreaterThanEqual 512 514
|
||||
516: 289(ptr) AccessChain 471(bv) 291
|
||||
517: 173(bool) CompositeExtract 515 0
|
||||
Store 516 517
|
||||
518:193(i16vec3) Load 356(u16v)
|
||||
519: 36(int16_t) Load 358(u16)
|
||||
520:193(i16vec3) CompositeConstruct 519 519 519
|
||||
521: 425(bvec3) INotEqual 518 520
|
||||
Store 457(bv) 521
|
||||
522: 52(i16vec2) Load 343(i16v)
|
||||
523: 14(int16_t) Load 346(i16)
|
||||
524: 52(i16vec2) CompositeConstruct 523 523
|
||||
525: 174(bvec2) INotEqual 522 524
|
||||
526: 280(ptr) AccessChain 457(bv) 282
|
||||
527: 173(bool) CompositeExtract 525 0
|
||||
Store 526 527
|
||||
528: 280(ptr) AccessChain 457(bv) 264
|
||||
529: 173(bool) CompositeExtract 525 1
|
||||
518: 289(ptr) AccessChain 471(bv) 273
|
||||
519: 173(bool) CompositeExtract 515 1
|
||||
Store 518 519
|
||||
520:202(i16vec3) Load 370(u16v)
|
||||
521: 36(int16_t) Load 372(u16)
|
||||
522:202(i16vec3) CompositeConstruct 521 521 521
|
||||
523: 439(bvec3) IEqual 520 522
|
||||
Store 471(bv) 523
|
||||
524: 52(i16vec2) Load 357(i16v)
|
||||
525: 14(int16_t) Load 360(i16)
|
||||
526: 52(i16vec2) CompositeConstruct 525 525
|
||||
527: 174(bvec2) IEqual 524 526
|
||||
528: 289(ptr) AccessChain 471(bv) 291
|
||||
529: 173(bool) CompositeExtract 527 0
|
||||
Store 528 529
|
||||
530: 289(ptr) AccessChain 471(bv) 273
|
||||
531: 173(bool) CompositeExtract 527 1
|
||||
Store 530 531
|
||||
532:202(i16vec3) Load 370(u16v)
|
||||
533: 36(int16_t) Load 372(u16)
|
||||
534:202(i16vec3) CompositeConstruct 533 533 533
|
||||
535: 439(bvec3) INotEqual 532 534
|
||||
Store 471(bv) 535
|
||||
536: 52(i16vec2) Load 357(i16v)
|
||||
537: 14(int16_t) Load 360(i16)
|
||||
538: 52(i16vec2) CompositeConstruct 537 537
|
||||
539: 174(bvec2) INotEqual 536 538
|
||||
540: 289(ptr) AccessChain 471(bv) 291
|
||||
541: 173(bool) CompositeExtract 539 0
|
||||
Store 540 541
|
||||
542: 289(ptr) AccessChain 471(bv) 273
|
||||
543: 173(bool) CompositeExtract 539 1
|
||||
Store 542 543
|
||||
Return
|
||||
FunctionEnd
|
||||
|
@ -1,7 +1,7 @@
|
||||
spv.int8.frag
|
||||
// Module Version 10300
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 530
|
||||
// Id's are bound by 544
|
||||
|
||||
Capability Shader
|
||||
Capability Float16
|
||||
@ -48,53 +48,55 @@ spv.int8.frag
|
||||
Name 117 "f64v"
|
||||
Name 144 "u16v"
|
||||
Name 174 "bv"
|
||||
Name 192 "u8v"
|
||||
Name 197 "i8"
|
||||
Name 217 "i"
|
||||
Name 224 "uv"
|
||||
Name 240 "i16"
|
||||
Name 276 "b"
|
||||
Name 338 "i8v"
|
||||
Name 341 "i8"
|
||||
Name 351 "u8v"
|
||||
Name 353 "u8"
|
||||
Name 423 "i16"
|
||||
Name 426 "i32"
|
||||
Name 429 "i8v4"
|
||||
Name 433 "u16"
|
||||
Name 434 "u8v2"
|
||||
Name 437 "u32"
|
||||
Name 440 "u8v4"
|
||||
Name 452 "bv"
|
||||
Name 525 "Block"
|
||||
MemberName 525(Block) 0 "i8"
|
||||
MemberName 525(Block) 1 "i8v2"
|
||||
MemberName 525(Block) 2 "i8v3"
|
||||
MemberName 525(Block) 3 "i8v4"
|
||||
MemberName 525(Block) 4 "u8"
|
||||
MemberName 525(Block) 5 "u8v2"
|
||||
MemberName 525(Block) 6 "u8v3"
|
||||
MemberName 525(Block) 7 "u8v4"
|
||||
Name 527 "block"
|
||||
Name 528 "si8"
|
||||
Name 529 "su8"
|
||||
Name 193 "arr"
|
||||
Name 201 "u8v"
|
||||
Name 206 "i8"
|
||||
Name 226 "i"
|
||||
Name 233 "uv"
|
||||
Name 249 "i16"
|
||||
Name 285 "b"
|
||||
Name 348 "f"
|
||||
Name 352 "i8v"
|
||||
Name 355 "i8"
|
||||
Name 365 "u8v"
|
||||
Name 367 "u8"
|
||||
Name 437 "i16"
|
||||
Name 440 "i32"
|
||||
Name 443 "i8v4"
|
||||
Name 447 "u16"
|
||||
Name 448 "u8v2"
|
||||
Name 451 "u32"
|
||||
Name 454 "u8v4"
|
||||
Name 466 "bv"
|
||||
Name 539 "Block"
|
||||
MemberName 539(Block) 0 "i8"
|
||||
MemberName 539(Block) 1 "i8v2"
|
||||
MemberName 539(Block) 2 "i8v3"
|
||||
MemberName 539(Block) 3 "i8v4"
|
||||
MemberName 539(Block) 4 "u8"
|
||||
MemberName 539(Block) 5 "u8v2"
|
||||
MemberName 539(Block) 6 "u8v3"
|
||||
MemberName 539(Block) 7 "u8v4"
|
||||
Name 541 "block"
|
||||
Name 542 "si8"
|
||||
Name 543 "su8"
|
||||
MemberDecorate 24(Uniforms) 0 Offset 0
|
||||
Decorate 24(Uniforms) Block
|
||||
Decorate 26 DescriptorSet 0
|
||||
Decorate 26 Binding 0
|
||||
MemberDecorate 525(Block) 0 Offset 0
|
||||
MemberDecorate 525(Block) 1 Offset 2
|
||||
MemberDecorate 525(Block) 2 Offset 4
|
||||
MemberDecorate 525(Block) 3 Offset 8
|
||||
MemberDecorate 525(Block) 4 Offset 12
|
||||
MemberDecorate 525(Block) 5 Offset 14
|
||||
MemberDecorate 525(Block) 6 Offset 16
|
||||
MemberDecorate 525(Block) 7 Offset 20
|
||||
Decorate 525(Block) Block
|
||||
Decorate 527(block) DescriptorSet 0
|
||||
Decorate 527(block) Binding 1
|
||||
Decorate 528(si8) SpecId 100
|
||||
Decorate 529(su8) SpecId 101
|
||||
MemberDecorate 539(Block) 0 Offset 0
|
||||
MemberDecorate 539(Block) 1 Offset 2
|
||||
MemberDecorate 539(Block) 2 Offset 4
|
||||
MemberDecorate 539(Block) 3 Offset 8
|
||||
MemberDecorate 539(Block) 4 Offset 12
|
||||
MemberDecorate 539(Block) 5 Offset 14
|
||||
MemberDecorate 539(Block) 6 Offset 16
|
||||
MemberDecorate 539(Block) 7 Offset 20
|
||||
Decorate 539(Block) Block
|
||||
Decorate 541(block) DescriptorSet 0
|
||||
Decorate 541(block) Binding 1
|
||||
Decorate 542(si8) SpecId 100
|
||||
Decorate 543(su8) SpecId 101
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
14: TypeInt 8 1
|
||||
@ -159,36 +161,45 @@ spv.int8.frag
|
||||
182: 36(int8_t) Constant 1
|
||||
183: 49(i8vec2) ConstantComposite 181 181
|
||||
184: 49(i8vec2) ConstantComposite 182 182
|
||||
190: TypeVector 36(int8_t) 3
|
||||
191: TypePointer Function 190(i8vec3)
|
||||
194: TypeVector 14(int8_t) 3
|
||||
216: TypePointer Function 27(int)
|
||||
222: TypeVector 17(int) 3
|
||||
223: TypePointer Function 222(ivec3)
|
||||
239: TypePointer Function 57(int16_t)
|
||||
261: 17(int) Constant 1
|
||||
267: 17(int) Constant 2
|
||||
275: TypePointer Function 171(bool)
|
||||
277: 17(int) Constant 0
|
||||
291: TypePointer Function 17(int)
|
||||
349: 52(i8vec2) ConstantComposite 21 21
|
||||
358: 190(i8vec3) ConstantComposite 181 181 181
|
||||
400: 171(bool) ConstantTrue
|
||||
407: 171(bool) ConstantFalse
|
||||
408: 172(bvec2) ConstantComposite 407 407
|
||||
420: TypeVector 171(bool) 3
|
||||
421: 420(bvec3) ConstantComposite 407 407 407
|
||||
427: TypeVector 14(int8_t) 4
|
||||
428: TypePointer Function 427(i8vec4)
|
||||
432: TypePointer Function 64(int16_t)
|
||||
438: TypeVector 36(int8_t) 4
|
||||
439: TypePointer Function 438(i8vec4)
|
||||
451: TypePointer Function 420(bvec3)
|
||||
525(Block): TypeStruct 14(int8_t) 52(i8vec2) 194(i8vec3) 427(i8vec4) 36(int8_t) 49(i8vec2) 190(i8vec3) 438(i8vec4)
|
||||
526: TypePointer Uniform 525(Block)
|
||||
527(block): 526(ptr) Variable Uniform
|
||||
528(si8): 14(int8_t) SpecConstant 4294967286
|
||||
529(su8): 36(int8_t) SpecConstant 20
|
||||
190: 17(int) Constant 4
|
||||
191: TypeArray 108(float) 190
|
||||
192: TypePointer Function 191
|
||||
194: 108(float) Constant 1065353216
|
||||
195: 108(float) Constant 1073741824
|
||||
196: 108(float) Constant 1077936128
|
||||
197: 108(float) Constant 1082130432
|
||||
198: 191 ConstantComposite 194 195 196 197
|
||||
199: TypeVector 36(int8_t) 3
|
||||
200: TypePointer Function 199(i8vec3)
|
||||
203: TypeVector 14(int8_t) 3
|
||||
225: TypePointer Function 27(int)
|
||||
231: TypeVector 17(int) 3
|
||||
232: TypePointer Function 231(ivec3)
|
||||
248: TypePointer Function 57(int16_t)
|
||||
270: 17(int) Constant 1
|
||||
276: 17(int) Constant 2
|
||||
284: TypePointer Function 171(bool)
|
||||
286: 17(int) Constant 0
|
||||
300: TypePointer Function 17(int)
|
||||
347: TypePointer Function 108(float)
|
||||
363: 52(i8vec2) ConstantComposite 21 21
|
||||
372: 199(i8vec3) ConstantComposite 181 181 181
|
||||
414: 171(bool) ConstantTrue
|
||||
421: 171(bool) ConstantFalse
|
||||
422: 172(bvec2) ConstantComposite 421 421
|
||||
434: TypeVector 171(bool) 3
|
||||
435: 434(bvec3) ConstantComposite 421 421 421
|
||||
441: TypeVector 14(int8_t) 4
|
||||
442: TypePointer Function 441(i8vec4)
|
||||
446: TypePointer Function 64(int16_t)
|
||||
452: TypeVector 36(int8_t) 4
|
||||
453: TypePointer Function 452(i8vec4)
|
||||
465: TypePointer Function 434(bvec3)
|
||||
539(Block): TypeStruct 14(int8_t) 52(i8vec2) 203(i8vec3) 441(i8vec4) 36(int8_t) 49(i8vec2) 199(i8vec3) 452(i8vec4)
|
||||
540: TypePointer Uniform 539(Block)
|
||||
541(block): 540(ptr) Variable Uniform
|
||||
542(si8): 14(int8_t) SpecConstant 4294967286
|
||||
543(su8): 36(int8_t) SpecConstant 20
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
Return
|
||||
@ -360,396 +371,403 @@ spv.int8.frag
|
||||
FunctionEnd
|
||||
10(operators(): 2 Function None 3
|
||||
11: Label
|
||||
192(u8v): 191(ptr) Variable Function
|
||||
197(i8): 15(ptr) Variable Function
|
||||
217(i): 216(ptr) Variable Function
|
||||
224(uv): 223(ptr) Variable Function
|
||||
240(i16): 239(ptr) Variable Function
|
||||
276(b): 275(ptr) Variable Function
|
||||
193: 190(i8vec3) Load 192(u8v)
|
||||
195: 194(i8vec3) CompositeConstruct 176 176 176
|
||||
196: 190(i8vec3) IAdd 193 195
|
||||
Store 192(u8v) 196
|
||||
198: 14(int8_t) Load 197(i8)
|
||||
199: 14(int8_t) ISub 198 176
|
||||
Store 197(i8) 199
|
||||
200: 14(int8_t) Load 197(i8)
|
||||
201: 14(int8_t) IAdd 200 176
|
||||
Store 197(i8) 201
|
||||
202: 190(i8vec3) Load 192(u8v)
|
||||
203: 194(i8vec3) CompositeConstruct 176 176 176
|
||||
204: 190(i8vec3) ISub 202 203
|
||||
Store 192(u8v) 204
|
||||
205: 190(i8vec3) Load 192(u8v)
|
||||
206: 190(i8vec3) Not 205
|
||||
Store 192(u8v) 206
|
||||
207: 14(int8_t) Load 197(i8)
|
||||
Store 197(i8) 207
|
||||
208: 190(i8vec3) Load 192(u8v)
|
||||
209: 190(i8vec3) SNegate 208
|
||||
Store 192(u8v) 209
|
||||
210: 14(int8_t) Load 197(i8)
|
||||
211: 14(int8_t) Load 197(i8)
|
||||
212: 14(int8_t) IAdd 211 210
|
||||
Store 197(i8) 212
|
||||
213: 190(i8vec3) Load 192(u8v)
|
||||
214: 190(i8vec3) Load 192(u8v)
|
||||
215: 190(i8vec3) ISub 214 213
|
||||
Store 192(u8v) 215
|
||||
218: 14(int8_t) Load 197(i8)
|
||||
219: 27(int) SConvert 218
|
||||
220: 27(int) Load 217(i)
|
||||
221: 27(int) IMul 220 219
|
||||
Store 217(i) 221
|
||||
225: 190(i8vec3) Load 192(u8v)
|
||||
226: 222(ivec3) UConvert 225
|
||||
227: 222(ivec3) Load 224(uv)
|
||||
228: 222(ivec3) UDiv 227 226
|
||||
Store 224(uv) 228
|
||||
229: 14(int8_t) Load 197(i8)
|
||||
230: 27(int) SConvert 229
|
||||
231: 17(int) Bitcast 230
|
||||
232: 222(ivec3) Load 224(uv)
|
||||
233: 222(ivec3) CompositeConstruct 231 231 231
|
||||
234: 222(ivec3) UMod 232 233
|
||||
Store 224(uv) 234
|
||||
235: 190(i8vec3) Load 192(u8v)
|
||||
236: 222(ivec3) UConvert 235
|
||||
237: 222(ivec3) Load 224(uv)
|
||||
238: 222(ivec3) IAdd 236 237
|
||||
Store 224(uv) 238
|
||||
241: 14(int8_t) Load 197(i8)
|
||||
242: 57(int16_t) SConvert 241
|
||||
243: 57(int16_t) Load 240(i16)
|
||||
244: 57(int16_t) ISub 242 243
|
||||
Store 240(i16) 244
|
||||
245: 190(i8vec3) Load 192(u8v)
|
||||
246: 222(ivec3) UConvert 245
|
||||
247: 222(ivec3) Load 224(uv)
|
||||
248: 222(ivec3) IMul 246 247
|
||||
Store 224(uv) 248
|
||||
249: 14(int8_t) Load 197(i8)
|
||||
250: 57(int16_t) SConvert 249
|
||||
251: 57(int16_t) Load 240(i16)
|
||||
252: 57(int16_t) IMul 250 251
|
||||
Store 240(i16) 252
|
||||
253: 14(int8_t) Load 197(i8)
|
||||
254: 27(int) SConvert 253
|
||||
255: 27(int) Load 217(i)
|
||||
256: 27(int) SMod 254 255
|
||||
Store 217(i) 256
|
||||
257: 14(int8_t) Load 197(i8)
|
||||
258: 190(i8vec3) Load 192(u8v)
|
||||
259: 194(i8vec3) CompositeConstruct 257 257 257
|
||||
260: 190(i8vec3) ShiftLeftLogical 258 259
|
||||
Store 192(u8v) 260
|
||||
262: 37(ptr) AccessChain 192(u8v) 261
|
||||
263: 36(int8_t) Load 262
|
||||
264: 14(int8_t) Load 197(i8)
|
||||
265: 14(int8_t) ShiftRightArithmetic 264 263
|
||||
Store 197(i8) 265
|
||||
266: 14(int8_t) Load 197(i8)
|
||||
268: 37(ptr) AccessChain 192(u8v) 267
|
||||
269: 36(int8_t) Load 268
|
||||
270: 14(int8_t) ShiftLeftLogical 266 269
|
||||
Store 197(i8) 270
|
||||
271: 190(i8vec3) Load 192(u8v)
|
||||
272: 14(int8_t) Load 197(i8)
|
||||
273: 194(i8vec3) CompositeConstruct 272 272 272
|
||||
274: 190(i8vec3) ShiftLeftLogical 271 273
|
||||
Store 192(u8v) 274
|
||||
278: 37(ptr) AccessChain 192(u8v) 277
|
||||
279: 36(int8_t) Load 278
|
||||
280: 14(int8_t) Load 197(i8)
|
||||
281: 36(int8_t) Bitcast 280
|
||||
282: 171(bool) INotEqual 279 281
|
||||
Store 276(b) 282
|
||||
283: 14(int8_t) Load 197(i8)
|
||||
284: 36(int8_t) Bitcast 283
|
||||
285: 37(ptr) AccessChain 192(u8v) 277
|
||||
286: 36(int8_t) Load 285
|
||||
287: 171(bool) IEqual 284 286
|
||||
Store 276(b) 287
|
||||
288: 37(ptr) AccessChain 192(u8v) 277
|
||||
289: 36(int8_t) Load 288
|
||||
290: 17(int) UConvert 289
|
||||
292: 291(ptr) AccessChain 224(uv) 261
|
||||
293: 17(int) Load 292
|
||||
294: 171(bool) UGreaterThan 290 293
|
||||
Store 276(b) 294
|
||||
295: 14(int8_t) Load 197(i8)
|
||||
296: 27(int) SConvert 295
|
||||
297: 27(int) Load 217(i)
|
||||
298: 171(bool) SLessThan 296 297
|
||||
Store 276(b) 298
|
||||
299: 37(ptr) AccessChain 192(u8v) 261
|
||||
300: 36(int8_t) Load 299
|
||||
301: 17(int) UConvert 300
|
||||
302: 291(ptr) AccessChain 224(uv) 277
|
||||
303: 17(int) Load 302
|
||||
304: 171(bool) UGreaterThanEqual 301 303
|
||||
Store 276(b) 304
|
||||
305: 14(int8_t) Load 197(i8)
|
||||
306: 27(int) SConvert 305
|
||||
307: 27(int) Load 217(i)
|
||||
308: 171(bool) SLessThanEqual 306 307
|
||||
Store 276(b) 308
|
||||
309: 14(int8_t) Load 197(i8)
|
||||
310: 27(int) SConvert 309
|
||||
311: 17(int) Bitcast 310
|
||||
312: 222(ivec3) Load 224(uv)
|
||||
313: 222(ivec3) CompositeConstruct 311 311 311
|
||||
314: 222(ivec3) BitwiseOr 312 313
|
||||
Store 224(uv) 314
|
||||
315: 14(int8_t) Load 197(i8)
|
||||
316: 27(int) SConvert 315
|
||||
317: 27(int) Load 217(i)
|
||||
318: 27(int) BitwiseOr 316 317
|
||||
Store 217(i) 318
|
||||
319: 14(int8_t) Load 197(i8)
|
||||
320: 57(int16_t) SConvert 319
|
||||
321: 57(int16_t) Load 240(i16)
|
||||
322: 57(int16_t) BitwiseAnd 321 320
|
||||
Store 240(i16) 322
|
||||
323: 190(i8vec3) Load 192(u8v)
|
||||
324: 222(ivec3) UConvert 323
|
||||
325: 222(ivec3) Load 224(uv)
|
||||
326: 222(ivec3) BitwiseAnd 324 325
|
||||
Store 224(uv) 326
|
||||
327: 14(int8_t) Load 197(i8)
|
||||
328: 27(int) SConvert 327
|
||||
329: 17(int) Bitcast 328
|
||||
330: 222(ivec3) Load 224(uv)
|
||||
331: 222(ivec3) CompositeConstruct 329 329 329
|
||||
332: 222(ivec3) BitwiseXor 330 331
|
||||
Store 224(uv) 332
|
||||
333: 190(i8vec3) Load 192(u8v)
|
||||
334: 14(int8_t) Load 197(i8)
|
||||
335: 36(int8_t) Bitcast 334
|
||||
336: 190(i8vec3) CompositeConstruct 335 335 335
|
||||
337: 190(i8vec3) BitwiseXor 333 336
|
||||
Store 192(u8v) 337
|
||||
193(arr): 192(ptr) Variable Function
|
||||
201(u8v): 200(ptr) Variable Function
|
||||
206(i8): 15(ptr) Variable Function
|
||||
226(i): 225(ptr) Variable Function
|
||||
233(uv): 232(ptr) Variable Function
|
||||
249(i16): 248(ptr) Variable Function
|
||||
285(b): 284(ptr) Variable Function
|
||||
348(f): 347(ptr) Variable Function
|
||||
Store 193(arr) 198
|
||||
202: 199(i8vec3) Load 201(u8v)
|
||||
204: 203(i8vec3) CompositeConstruct 176 176 176
|
||||
205: 199(i8vec3) IAdd 202 204
|
||||
Store 201(u8v) 205
|
||||
207: 14(int8_t) Load 206(i8)
|
||||
208: 14(int8_t) ISub 207 176
|
||||
Store 206(i8) 208
|
||||
209: 14(int8_t) Load 206(i8)
|
||||
210: 14(int8_t) IAdd 209 176
|
||||
Store 206(i8) 210
|
||||
211: 199(i8vec3) Load 201(u8v)
|
||||
212: 203(i8vec3) CompositeConstruct 176 176 176
|
||||
213: 199(i8vec3) ISub 211 212
|
||||
Store 201(u8v) 213
|
||||
214: 199(i8vec3) Load 201(u8v)
|
||||
215: 199(i8vec3) Not 214
|
||||
Store 201(u8v) 215
|
||||
216: 14(int8_t) Load 206(i8)
|
||||
Store 206(i8) 216
|
||||
217: 199(i8vec3) Load 201(u8v)
|
||||
218: 199(i8vec3) SNegate 217
|
||||
Store 201(u8v) 218
|
||||
219: 14(int8_t) Load 206(i8)
|
||||
220: 14(int8_t) Load 206(i8)
|
||||
221: 14(int8_t) IAdd 220 219
|
||||
Store 206(i8) 221
|
||||
222: 199(i8vec3) Load 201(u8v)
|
||||
223: 199(i8vec3) Load 201(u8v)
|
||||
224: 199(i8vec3) ISub 223 222
|
||||
Store 201(u8v) 224
|
||||
227: 14(int8_t) Load 206(i8)
|
||||
228: 27(int) SConvert 227
|
||||
229: 27(int) Load 226(i)
|
||||
230: 27(int) IMul 229 228
|
||||
Store 226(i) 230
|
||||
234: 199(i8vec3) Load 201(u8v)
|
||||
235: 231(ivec3) UConvert 234
|
||||
236: 231(ivec3) Load 233(uv)
|
||||
237: 231(ivec3) UDiv 236 235
|
||||
Store 233(uv) 237
|
||||
238: 14(int8_t) Load 206(i8)
|
||||
239: 27(int) SConvert 238
|
||||
240: 17(int) Bitcast 239
|
||||
241: 231(ivec3) Load 233(uv)
|
||||
242: 231(ivec3) CompositeConstruct 240 240 240
|
||||
243: 231(ivec3) UMod 241 242
|
||||
Store 233(uv) 243
|
||||
244: 199(i8vec3) Load 201(u8v)
|
||||
245: 231(ivec3) UConvert 244
|
||||
246: 231(ivec3) Load 233(uv)
|
||||
247: 231(ivec3) IAdd 245 246
|
||||
Store 233(uv) 247
|
||||
250: 14(int8_t) Load 206(i8)
|
||||
251: 57(int16_t) SConvert 250
|
||||
252: 57(int16_t) Load 249(i16)
|
||||
253: 57(int16_t) ISub 251 252
|
||||
Store 249(i16) 253
|
||||
254: 199(i8vec3) Load 201(u8v)
|
||||
255: 231(ivec3) UConvert 254
|
||||
256: 231(ivec3) Load 233(uv)
|
||||
257: 231(ivec3) IMul 255 256
|
||||
Store 233(uv) 257
|
||||
258: 14(int8_t) Load 206(i8)
|
||||
259: 57(int16_t) SConvert 258
|
||||
260: 57(int16_t) Load 249(i16)
|
||||
261: 57(int16_t) IMul 259 260
|
||||
Store 249(i16) 261
|
||||
262: 14(int8_t) Load 206(i8)
|
||||
263: 27(int) SConvert 262
|
||||
264: 27(int) Load 226(i)
|
||||
265: 27(int) SMod 263 264
|
||||
Store 226(i) 265
|
||||
266: 14(int8_t) Load 206(i8)
|
||||
267: 199(i8vec3) Load 201(u8v)
|
||||
268: 203(i8vec3) CompositeConstruct 266 266 266
|
||||
269: 199(i8vec3) ShiftLeftLogical 267 268
|
||||
Store 201(u8v) 269
|
||||
271: 37(ptr) AccessChain 201(u8v) 270
|
||||
272: 36(int8_t) Load 271
|
||||
273: 14(int8_t) Load 206(i8)
|
||||
274: 14(int8_t) ShiftRightArithmetic 273 272
|
||||
Store 206(i8) 274
|
||||
275: 14(int8_t) Load 206(i8)
|
||||
277: 37(ptr) AccessChain 201(u8v) 276
|
||||
278: 36(int8_t) Load 277
|
||||
279: 14(int8_t) ShiftLeftLogical 275 278
|
||||
Store 206(i8) 279
|
||||
280: 199(i8vec3) Load 201(u8v)
|
||||
281: 14(int8_t) Load 206(i8)
|
||||
282: 203(i8vec3) CompositeConstruct 281 281 281
|
||||
283: 199(i8vec3) ShiftLeftLogical 280 282
|
||||
Store 201(u8v) 283
|
||||
287: 37(ptr) AccessChain 201(u8v) 286
|
||||
288: 36(int8_t) Load 287
|
||||
289: 14(int8_t) Load 206(i8)
|
||||
290: 36(int8_t) Bitcast 289
|
||||
291: 171(bool) INotEqual 288 290
|
||||
Store 285(b) 291
|
||||
292: 14(int8_t) Load 206(i8)
|
||||
293: 36(int8_t) Bitcast 292
|
||||
294: 37(ptr) AccessChain 201(u8v) 286
|
||||
295: 36(int8_t) Load 294
|
||||
296: 171(bool) IEqual 293 295
|
||||
Store 285(b) 296
|
||||
297: 37(ptr) AccessChain 201(u8v) 286
|
||||
298: 36(int8_t) Load 297
|
||||
299: 17(int) UConvert 298
|
||||
301: 300(ptr) AccessChain 233(uv) 270
|
||||
302: 17(int) Load 301
|
||||
303: 171(bool) UGreaterThan 299 302
|
||||
Store 285(b) 303
|
||||
304: 14(int8_t) Load 206(i8)
|
||||
305: 27(int) SConvert 304
|
||||
306: 27(int) Load 226(i)
|
||||
307: 171(bool) SLessThan 305 306
|
||||
Store 285(b) 307
|
||||
308: 37(ptr) AccessChain 201(u8v) 270
|
||||
309: 36(int8_t) Load 308
|
||||
310: 17(int) UConvert 309
|
||||
311: 300(ptr) AccessChain 233(uv) 286
|
||||
312: 17(int) Load 311
|
||||
313: 171(bool) UGreaterThanEqual 310 312
|
||||
Store 285(b) 313
|
||||
314: 14(int8_t) Load 206(i8)
|
||||
315: 27(int) SConvert 314
|
||||
316: 27(int) Load 226(i)
|
||||
317: 171(bool) SLessThanEqual 315 316
|
||||
Store 285(b) 317
|
||||
318: 14(int8_t) Load 206(i8)
|
||||
319: 27(int) SConvert 318
|
||||
320: 17(int) Bitcast 319
|
||||
321: 231(ivec3) Load 233(uv)
|
||||
322: 231(ivec3) CompositeConstruct 320 320 320
|
||||
323: 231(ivec3) BitwiseOr 321 322
|
||||
Store 233(uv) 323
|
||||
324: 14(int8_t) Load 206(i8)
|
||||
325: 27(int) SConvert 324
|
||||
326: 27(int) Load 226(i)
|
||||
327: 27(int) BitwiseOr 325 326
|
||||
Store 226(i) 327
|
||||
328: 14(int8_t) Load 206(i8)
|
||||
329: 57(int16_t) SConvert 328
|
||||
330: 57(int16_t) Load 249(i16)
|
||||
331: 57(int16_t) BitwiseAnd 330 329
|
||||
Store 249(i16) 331
|
||||
332: 199(i8vec3) Load 201(u8v)
|
||||
333: 231(ivec3) UConvert 332
|
||||
334: 231(ivec3) Load 233(uv)
|
||||
335: 231(ivec3) BitwiseAnd 333 334
|
||||
Store 233(uv) 335
|
||||
336: 14(int8_t) Load 206(i8)
|
||||
337: 27(int) SConvert 336
|
||||
338: 17(int) Bitcast 337
|
||||
339: 231(ivec3) Load 233(uv)
|
||||
340: 231(ivec3) CompositeConstruct 338 338 338
|
||||
341: 231(ivec3) BitwiseXor 339 340
|
||||
Store 233(uv) 341
|
||||
342: 199(i8vec3) Load 201(u8v)
|
||||
343: 14(int8_t) Load 206(i8)
|
||||
344: 36(int8_t) Bitcast 343
|
||||
345: 199(i8vec3) CompositeConstruct 344 344 344
|
||||
346: 199(i8vec3) BitwiseXor 342 345
|
||||
Store 201(u8v) 346
|
||||
349: 14(int8_t) Load 206(i8)
|
||||
350: 347(ptr) AccessChain 193(arr) 349
|
||||
351: 108(float) Load 350
|
||||
Store 348(f) 351
|
||||
Return
|
||||
FunctionEnd
|
||||
12(builtinFuncs(): 2 Function None 3
|
||||
13: Label
|
||||
338(i8v): 53(ptr) Variable Function
|
||||
341(i8): 15(ptr) Variable Function
|
||||
351(u8v): 191(ptr) Variable Function
|
||||
353(u8): 37(ptr) Variable Function
|
||||
423(i16): 239(ptr) Variable Function
|
||||
426(i32): 216(ptr) Variable Function
|
||||
429(i8v4): 428(ptr) Variable Function
|
||||
433(u16): 432(ptr) Variable Function
|
||||
434(u8v2): 50(ptr) Variable Function
|
||||
437(u32): 291(ptr) Variable Function
|
||||
440(u8v4): 439(ptr) Variable Function
|
||||
452(bv): 451(ptr) Variable Function
|
||||
339: 52(i8vec2) Load 338(i8v)
|
||||
340: 52(i8vec2) ExtInst 1(GLSL.std.450) 5(SAbs) 339
|
||||
Store 338(i8v) 340
|
||||
342: 14(int8_t) Load 341(i8)
|
||||
343: 14(int8_t) ExtInst 1(GLSL.std.450) 7(SSign) 342
|
||||
Store 341(i8) 343
|
||||
344: 52(i8vec2) Load 338(i8v)
|
||||
345: 14(int8_t) Load 341(i8)
|
||||
346: 52(i8vec2) CompositeConstruct 345 345
|
||||
347: 52(i8vec2) ExtInst 1(GLSL.std.450) 39(SMin) 344 346
|
||||
Store 338(i8v) 347
|
||||
348: 52(i8vec2) Load 338(i8v)
|
||||
350: 52(i8vec2) ExtInst 1(GLSL.std.450) 39(SMin) 348 349
|
||||
Store 338(i8v) 350
|
||||
352: 190(i8vec3) Load 351(u8v)
|
||||
354: 36(int8_t) Load 353(u8)
|
||||
355: 190(i8vec3) CompositeConstruct 354 354 354
|
||||
356: 190(i8vec3) ExtInst 1(GLSL.std.450) 38(UMin) 352 355
|
||||
Store 351(u8v) 356
|
||||
357: 190(i8vec3) Load 351(u8v)
|
||||
359: 190(i8vec3) ExtInst 1(GLSL.std.450) 38(UMin) 357 358
|
||||
Store 351(u8v) 359
|
||||
360: 52(i8vec2) Load 338(i8v)
|
||||
361: 14(int8_t) Load 341(i8)
|
||||
362: 52(i8vec2) CompositeConstruct 361 361
|
||||
363: 52(i8vec2) ExtInst 1(GLSL.std.450) 42(SMax) 360 362
|
||||
Store 338(i8v) 363
|
||||
364: 52(i8vec2) Load 338(i8v)
|
||||
365: 52(i8vec2) ExtInst 1(GLSL.std.450) 42(SMax) 364 349
|
||||
Store 338(i8v) 365
|
||||
366: 190(i8vec3) Load 351(u8v)
|
||||
367: 36(int8_t) Load 353(u8)
|
||||
368: 190(i8vec3) CompositeConstruct 367 367 367
|
||||
369: 190(i8vec3) ExtInst 1(GLSL.std.450) 41(UMax) 366 368
|
||||
Store 351(u8v) 369
|
||||
370: 190(i8vec3) Load 351(u8v)
|
||||
371: 190(i8vec3) ExtInst 1(GLSL.std.450) 41(UMax) 370 358
|
||||
Store 351(u8v) 371
|
||||
372: 52(i8vec2) Load 338(i8v)
|
||||
373: 14(int8_t) Load 341(i8)
|
||||
374: 14(int8_t) SNegate 373
|
||||
375: 14(int8_t) Load 341(i8)
|
||||
376: 52(i8vec2) CompositeConstruct 374 374
|
||||
377: 52(i8vec2) CompositeConstruct 375 375
|
||||
378: 52(i8vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 372 376 377
|
||||
Store 338(i8v) 378
|
||||
379: 52(i8vec2) Load 338(i8v)
|
||||
380: 52(i8vec2) Load 338(i8v)
|
||||
381: 52(i8vec2) SNegate 380
|
||||
382: 52(i8vec2) Load 338(i8v)
|
||||
383: 52(i8vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 379 381 382
|
||||
Store 338(i8v) 383
|
||||
384: 190(i8vec3) Load 351(u8v)
|
||||
385: 36(int8_t) Load 353(u8)
|
||||
386: 36(int8_t) SNegate 385
|
||||
387: 36(int8_t) Load 353(u8)
|
||||
388: 190(i8vec3) CompositeConstruct 386 386 386
|
||||
389: 190(i8vec3) CompositeConstruct 387 387 387
|
||||
390: 190(i8vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 384 388 389
|
||||
Store 351(u8v) 390
|
||||
391: 190(i8vec3) Load 351(u8v)
|
||||
392: 190(i8vec3) Load 351(u8v)
|
||||
393: 190(i8vec3) SNegate 392
|
||||
394: 190(i8vec3) Load 351(u8v)
|
||||
395: 190(i8vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 391 393 394
|
||||
Store 351(u8v) 395
|
||||
396: 15(ptr) AccessChain 338(i8v) 277
|
||||
397: 14(int8_t) Load 396
|
||||
398: 15(ptr) AccessChain 338(i8v) 261
|
||||
399: 14(int8_t) Load 398
|
||||
401: 14(int8_t) Select 400 399 397
|
||||
Store 341(i8) 401
|
||||
402: 14(int8_t) Load 341(i8)
|
||||
403: 52(i8vec2) CompositeConstruct 402 402
|
||||
404: 14(int8_t) Load 341(i8)
|
||||
405: 14(int8_t) SNegate 404
|
||||
406: 52(i8vec2) CompositeConstruct 405 405
|
||||
409: 52(i8vec2) Select 408 406 403
|
||||
Store 338(i8v) 409
|
||||
410: 37(ptr) AccessChain 351(u8v) 277
|
||||
411: 36(int8_t) Load 410
|
||||
412: 37(ptr) AccessChain 351(u8v) 261
|
||||
413: 36(int8_t) Load 412
|
||||
414: 36(int8_t) Select 400 413 411
|
||||
Store 353(u8) 414
|
||||
415: 36(int8_t) Load 353(u8)
|
||||
416: 190(i8vec3) CompositeConstruct 415 415 415
|
||||
417: 36(int8_t) Load 353(u8)
|
||||
418: 36(int8_t) SNegate 417
|
||||
419: 190(i8vec3) CompositeConstruct 418 418 418
|
||||
422: 190(i8vec3) Select 421 419 416
|
||||
Store 351(u8v) 422
|
||||
424: 52(i8vec2) Load 338(i8v)
|
||||
425: 57(int16_t) Bitcast 424
|
||||
Store 423(i16) 425
|
||||
430: 427(i8vec4) Load 429(i8v4)
|
||||
431: 27(int) Bitcast 430
|
||||
Store 426(i32) 431
|
||||
435: 49(i8vec2) Load 434(u8v2)
|
||||
436: 64(int16_t) Bitcast 435
|
||||
Store 433(u16) 436
|
||||
441: 438(i8vec4) Load 440(u8v4)
|
||||
442: 17(int) Bitcast 441
|
||||
Store 437(u32) 442
|
||||
443: 57(int16_t) Load 423(i16)
|
||||
444: 52(i8vec2) Bitcast 443
|
||||
Store 338(i8v) 444
|
||||
445: 27(int) Load 426(i32)
|
||||
446: 427(i8vec4) Bitcast 445
|
||||
Store 429(i8v4) 446
|
||||
447: 64(int16_t) Load 433(u16)
|
||||
448: 49(i8vec2) Bitcast 447
|
||||
Store 434(u8v2) 448
|
||||
449: 17(int) Load 437(u32)
|
||||
450: 438(i8vec4) Bitcast 449
|
||||
Store 440(u8v4) 450
|
||||
453: 190(i8vec3) Load 351(u8v)
|
||||
454: 36(int8_t) Load 353(u8)
|
||||
455: 190(i8vec3) CompositeConstruct 454 454 454
|
||||
456: 420(bvec3) ULessThan 453 455
|
||||
Store 452(bv) 456
|
||||
457: 52(i8vec2) Load 338(i8v)
|
||||
458: 14(int8_t) Load 341(i8)
|
||||
459: 52(i8vec2) CompositeConstruct 458 458
|
||||
460: 172(bvec2) SLessThan 457 459
|
||||
461: 275(ptr) AccessChain 452(bv) 277
|
||||
462: 171(bool) CompositeExtract 460 0
|
||||
Store 461 462
|
||||
463: 275(ptr) AccessChain 452(bv) 261
|
||||
464: 171(bool) CompositeExtract 460 1
|
||||
Store 463 464
|
||||
465: 190(i8vec3) Load 351(u8v)
|
||||
466: 36(int8_t) Load 353(u8)
|
||||
467: 190(i8vec3) CompositeConstruct 466 466 466
|
||||
468: 420(bvec3) ULessThanEqual 465 467
|
||||
Store 452(bv) 468
|
||||
469: 52(i8vec2) Load 338(i8v)
|
||||
470: 14(int8_t) Load 341(i8)
|
||||
471: 52(i8vec2) CompositeConstruct 470 470
|
||||
472: 172(bvec2) SLessThanEqual 469 471
|
||||
473: 275(ptr) AccessChain 452(bv) 277
|
||||
474: 171(bool) CompositeExtract 472 0
|
||||
Store 473 474
|
||||
475: 275(ptr) AccessChain 452(bv) 261
|
||||
476: 171(bool) CompositeExtract 472 1
|
||||
352(i8v): 53(ptr) Variable Function
|
||||
355(i8): 15(ptr) Variable Function
|
||||
365(u8v): 200(ptr) Variable Function
|
||||
367(u8): 37(ptr) Variable Function
|
||||
437(i16): 248(ptr) Variable Function
|
||||
440(i32): 225(ptr) Variable Function
|
||||
443(i8v4): 442(ptr) Variable Function
|
||||
447(u16): 446(ptr) Variable Function
|
||||
448(u8v2): 50(ptr) Variable Function
|
||||
451(u32): 300(ptr) Variable Function
|
||||
454(u8v4): 453(ptr) Variable Function
|
||||
466(bv): 465(ptr) Variable Function
|
||||
353: 52(i8vec2) Load 352(i8v)
|
||||
354: 52(i8vec2) ExtInst 1(GLSL.std.450) 5(SAbs) 353
|
||||
Store 352(i8v) 354
|
||||
356: 14(int8_t) Load 355(i8)
|
||||
357: 14(int8_t) ExtInst 1(GLSL.std.450) 7(SSign) 356
|
||||
Store 355(i8) 357
|
||||
358: 52(i8vec2) Load 352(i8v)
|
||||
359: 14(int8_t) Load 355(i8)
|
||||
360: 52(i8vec2) CompositeConstruct 359 359
|
||||
361: 52(i8vec2) ExtInst 1(GLSL.std.450) 39(SMin) 358 360
|
||||
Store 352(i8v) 361
|
||||
362: 52(i8vec2) Load 352(i8v)
|
||||
364: 52(i8vec2) ExtInst 1(GLSL.std.450) 39(SMin) 362 363
|
||||
Store 352(i8v) 364
|
||||
366: 199(i8vec3) Load 365(u8v)
|
||||
368: 36(int8_t) Load 367(u8)
|
||||
369: 199(i8vec3) CompositeConstruct 368 368 368
|
||||
370: 199(i8vec3) ExtInst 1(GLSL.std.450) 38(UMin) 366 369
|
||||
Store 365(u8v) 370
|
||||
371: 199(i8vec3) Load 365(u8v)
|
||||
373: 199(i8vec3) ExtInst 1(GLSL.std.450) 38(UMin) 371 372
|
||||
Store 365(u8v) 373
|
||||
374: 52(i8vec2) Load 352(i8v)
|
||||
375: 14(int8_t) Load 355(i8)
|
||||
376: 52(i8vec2) CompositeConstruct 375 375
|
||||
377: 52(i8vec2) ExtInst 1(GLSL.std.450) 42(SMax) 374 376
|
||||
Store 352(i8v) 377
|
||||
378: 52(i8vec2) Load 352(i8v)
|
||||
379: 52(i8vec2) ExtInst 1(GLSL.std.450) 42(SMax) 378 363
|
||||
Store 352(i8v) 379
|
||||
380: 199(i8vec3) Load 365(u8v)
|
||||
381: 36(int8_t) Load 367(u8)
|
||||
382: 199(i8vec3) CompositeConstruct 381 381 381
|
||||
383: 199(i8vec3) ExtInst 1(GLSL.std.450) 41(UMax) 380 382
|
||||
Store 365(u8v) 383
|
||||
384: 199(i8vec3) Load 365(u8v)
|
||||
385: 199(i8vec3) ExtInst 1(GLSL.std.450) 41(UMax) 384 372
|
||||
Store 365(u8v) 385
|
||||
386: 52(i8vec2) Load 352(i8v)
|
||||
387: 14(int8_t) Load 355(i8)
|
||||
388: 14(int8_t) SNegate 387
|
||||
389: 14(int8_t) Load 355(i8)
|
||||
390: 52(i8vec2) CompositeConstruct 388 388
|
||||
391: 52(i8vec2) CompositeConstruct 389 389
|
||||
392: 52(i8vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 386 390 391
|
||||
Store 352(i8v) 392
|
||||
393: 52(i8vec2) Load 352(i8v)
|
||||
394: 52(i8vec2) Load 352(i8v)
|
||||
395: 52(i8vec2) SNegate 394
|
||||
396: 52(i8vec2) Load 352(i8v)
|
||||
397: 52(i8vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 393 395 396
|
||||
Store 352(i8v) 397
|
||||
398: 199(i8vec3) Load 365(u8v)
|
||||
399: 36(int8_t) Load 367(u8)
|
||||
400: 36(int8_t) SNegate 399
|
||||
401: 36(int8_t) Load 367(u8)
|
||||
402: 199(i8vec3) CompositeConstruct 400 400 400
|
||||
403: 199(i8vec3) CompositeConstruct 401 401 401
|
||||
404: 199(i8vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 398 402 403
|
||||
Store 365(u8v) 404
|
||||
405: 199(i8vec3) Load 365(u8v)
|
||||
406: 199(i8vec3) Load 365(u8v)
|
||||
407: 199(i8vec3) SNegate 406
|
||||
408: 199(i8vec3) Load 365(u8v)
|
||||
409: 199(i8vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 405 407 408
|
||||
Store 365(u8v) 409
|
||||
410: 15(ptr) AccessChain 352(i8v) 286
|
||||
411: 14(int8_t) Load 410
|
||||
412: 15(ptr) AccessChain 352(i8v) 270
|
||||
413: 14(int8_t) Load 412
|
||||
415: 14(int8_t) Select 414 413 411
|
||||
Store 355(i8) 415
|
||||
416: 14(int8_t) Load 355(i8)
|
||||
417: 52(i8vec2) CompositeConstruct 416 416
|
||||
418: 14(int8_t) Load 355(i8)
|
||||
419: 14(int8_t) SNegate 418
|
||||
420: 52(i8vec2) CompositeConstruct 419 419
|
||||
423: 52(i8vec2) Select 422 420 417
|
||||
Store 352(i8v) 423
|
||||
424: 37(ptr) AccessChain 365(u8v) 286
|
||||
425: 36(int8_t) Load 424
|
||||
426: 37(ptr) AccessChain 365(u8v) 270
|
||||
427: 36(int8_t) Load 426
|
||||
428: 36(int8_t) Select 414 427 425
|
||||
Store 367(u8) 428
|
||||
429: 36(int8_t) Load 367(u8)
|
||||
430: 199(i8vec3) CompositeConstruct 429 429 429
|
||||
431: 36(int8_t) Load 367(u8)
|
||||
432: 36(int8_t) SNegate 431
|
||||
433: 199(i8vec3) CompositeConstruct 432 432 432
|
||||
436: 199(i8vec3) Select 435 433 430
|
||||
Store 365(u8v) 436
|
||||
438: 52(i8vec2) Load 352(i8v)
|
||||
439: 57(int16_t) Bitcast 438
|
||||
Store 437(i16) 439
|
||||
444: 441(i8vec4) Load 443(i8v4)
|
||||
445: 27(int) Bitcast 444
|
||||
Store 440(i32) 445
|
||||
449: 49(i8vec2) Load 448(u8v2)
|
||||
450: 64(int16_t) Bitcast 449
|
||||
Store 447(u16) 450
|
||||
455: 452(i8vec4) Load 454(u8v4)
|
||||
456: 17(int) Bitcast 455
|
||||
Store 451(u32) 456
|
||||
457: 57(int16_t) Load 437(i16)
|
||||
458: 52(i8vec2) Bitcast 457
|
||||
Store 352(i8v) 458
|
||||
459: 27(int) Load 440(i32)
|
||||
460: 441(i8vec4) Bitcast 459
|
||||
Store 443(i8v4) 460
|
||||
461: 64(int16_t) Load 447(u16)
|
||||
462: 49(i8vec2) Bitcast 461
|
||||
Store 448(u8v2) 462
|
||||
463: 17(int) Load 451(u32)
|
||||
464: 452(i8vec4) Bitcast 463
|
||||
Store 454(u8v4) 464
|
||||
467: 199(i8vec3) Load 365(u8v)
|
||||
468: 36(int8_t) Load 367(u8)
|
||||
469: 199(i8vec3) CompositeConstruct 468 468 468
|
||||
470: 434(bvec3) ULessThan 467 469
|
||||
Store 466(bv) 470
|
||||
471: 52(i8vec2) Load 352(i8v)
|
||||
472: 14(int8_t) Load 355(i8)
|
||||
473: 52(i8vec2) CompositeConstruct 472 472
|
||||
474: 172(bvec2) SLessThan 471 473
|
||||
475: 284(ptr) AccessChain 466(bv) 286
|
||||
476: 171(bool) CompositeExtract 474 0
|
||||
Store 475 476
|
||||
477: 190(i8vec3) Load 351(u8v)
|
||||
478: 36(int8_t) Load 353(u8)
|
||||
479: 190(i8vec3) CompositeConstruct 478 478 478
|
||||
480: 420(bvec3) UGreaterThan 477 479
|
||||
Store 452(bv) 480
|
||||
481: 52(i8vec2) Load 338(i8v)
|
||||
482: 14(int8_t) Load 341(i8)
|
||||
483: 52(i8vec2) CompositeConstruct 482 482
|
||||
484: 172(bvec2) SGreaterThan 481 483
|
||||
485: 275(ptr) AccessChain 452(bv) 277
|
||||
486: 171(bool) CompositeExtract 484 0
|
||||
Store 485 486
|
||||
487: 275(ptr) AccessChain 452(bv) 261
|
||||
488: 171(bool) CompositeExtract 484 1
|
||||
477: 284(ptr) AccessChain 466(bv) 270
|
||||
478: 171(bool) CompositeExtract 474 1
|
||||
Store 477 478
|
||||
479: 199(i8vec3) Load 365(u8v)
|
||||
480: 36(int8_t) Load 367(u8)
|
||||
481: 199(i8vec3) CompositeConstruct 480 480 480
|
||||
482: 434(bvec3) ULessThanEqual 479 481
|
||||
Store 466(bv) 482
|
||||
483: 52(i8vec2) Load 352(i8v)
|
||||
484: 14(int8_t) Load 355(i8)
|
||||
485: 52(i8vec2) CompositeConstruct 484 484
|
||||
486: 172(bvec2) SLessThanEqual 483 485
|
||||
487: 284(ptr) AccessChain 466(bv) 286
|
||||
488: 171(bool) CompositeExtract 486 0
|
||||
Store 487 488
|
||||
489: 190(i8vec3) Load 351(u8v)
|
||||
490: 36(int8_t) Load 353(u8)
|
||||
491: 190(i8vec3) CompositeConstruct 490 490 490
|
||||
492: 420(bvec3) UGreaterThanEqual 489 491
|
||||
Store 452(bv) 492
|
||||
493: 52(i8vec2) Load 338(i8v)
|
||||
494: 14(int8_t) Load 341(i8)
|
||||
495: 52(i8vec2) CompositeConstruct 494 494
|
||||
496: 172(bvec2) SGreaterThanEqual 493 495
|
||||
497: 275(ptr) AccessChain 452(bv) 277
|
||||
498: 171(bool) CompositeExtract 496 0
|
||||
Store 497 498
|
||||
499: 275(ptr) AccessChain 452(bv) 261
|
||||
500: 171(bool) CompositeExtract 496 1
|
||||
489: 284(ptr) AccessChain 466(bv) 270
|
||||
490: 171(bool) CompositeExtract 486 1
|
||||
Store 489 490
|
||||
491: 199(i8vec3) Load 365(u8v)
|
||||
492: 36(int8_t) Load 367(u8)
|
||||
493: 199(i8vec3) CompositeConstruct 492 492 492
|
||||
494: 434(bvec3) UGreaterThan 491 493
|
||||
Store 466(bv) 494
|
||||
495: 52(i8vec2) Load 352(i8v)
|
||||
496: 14(int8_t) Load 355(i8)
|
||||
497: 52(i8vec2) CompositeConstruct 496 496
|
||||
498: 172(bvec2) SGreaterThan 495 497
|
||||
499: 284(ptr) AccessChain 466(bv) 286
|
||||
500: 171(bool) CompositeExtract 498 0
|
||||
Store 499 500
|
||||
501: 190(i8vec3) Load 351(u8v)
|
||||
502: 36(int8_t) Load 353(u8)
|
||||
503: 190(i8vec3) CompositeConstruct 502 502 502
|
||||
504: 420(bvec3) IEqual 501 503
|
||||
Store 452(bv) 504
|
||||
505: 52(i8vec2) Load 338(i8v)
|
||||
506: 14(int8_t) Load 341(i8)
|
||||
507: 52(i8vec2) CompositeConstruct 506 506
|
||||
508: 172(bvec2) IEqual 505 507
|
||||
509: 275(ptr) AccessChain 452(bv) 277
|
||||
510: 171(bool) CompositeExtract 508 0
|
||||
Store 509 510
|
||||
511: 275(ptr) AccessChain 452(bv) 261
|
||||
512: 171(bool) CompositeExtract 508 1
|
||||
501: 284(ptr) AccessChain 466(bv) 270
|
||||
502: 171(bool) CompositeExtract 498 1
|
||||
Store 501 502
|
||||
503: 199(i8vec3) Load 365(u8v)
|
||||
504: 36(int8_t) Load 367(u8)
|
||||
505: 199(i8vec3) CompositeConstruct 504 504 504
|
||||
506: 434(bvec3) UGreaterThanEqual 503 505
|
||||
Store 466(bv) 506
|
||||
507: 52(i8vec2) Load 352(i8v)
|
||||
508: 14(int8_t) Load 355(i8)
|
||||
509: 52(i8vec2) CompositeConstruct 508 508
|
||||
510: 172(bvec2) SGreaterThanEqual 507 509
|
||||
511: 284(ptr) AccessChain 466(bv) 286
|
||||
512: 171(bool) CompositeExtract 510 0
|
||||
Store 511 512
|
||||
513: 190(i8vec3) Load 351(u8v)
|
||||
514: 36(int8_t) Load 353(u8)
|
||||
515: 190(i8vec3) CompositeConstruct 514 514 514
|
||||
516: 420(bvec3) INotEqual 513 515
|
||||
Store 452(bv) 516
|
||||
517: 52(i8vec2) Load 338(i8v)
|
||||
518: 14(int8_t) Load 341(i8)
|
||||
519: 52(i8vec2) CompositeConstruct 518 518
|
||||
520: 172(bvec2) INotEqual 517 519
|
||||
521: 275(ptr) AccessChain 452(bv) 277
|
||||
522: 171(bool) CompositeExtract 520 0
|
||||
Store 521 522
|
||||
523: 275(ptr) AccessChain 452(bv) 261
|
||||
524: 171(bool) CompositeExtract 520 1
|
||||
513: 284(ptr) AccessChain 466(bv) 270
|
||||
514: 171(bool) CompositeExtract 510 1
|
||||
Store 513 514
|
||||
515: 199(i8vec3) Load 365(u8v)
|
||||
516: 36(int8_t) Load 367(u8)
|
||||
517: 199(i8vec3) CompositeConstruct 516 516 516
|
||||
518: 434(bvec3) IEqual 515 517
|
||||
Store 466(bv) 518
|
||||
519: 52(i8vec2) Load 352(i8v)
|
||||
520: 14(int8_t) Load 355(i8)
|
||||
521: 52(i8vec2) CompositeConstruct 520 520
|
||||
522: 172(bvec2) IEqual 519 521
|
||||
523: 284(ptr) AccessChain 466(bv) 286
|
||||
524: 171(bool) CompositeExtract 522 0
|
||||
Store 523 524
|
||||
525: 284(ptr) AccessChain 466(bv) 270
|
||||
526: 171(bool) CompositeExtract 522 1
|
||||
Store 525 526
|
||||
527: 199(i8vec3) Load 365(u8v)
|
||||
528: 36(int8_t) Load 367(u8)
|
||||
529: 199(i8vec3) CompositeConstruct 528 528 528
|
||||
530: 434(bvec3) INotEqual 527 529
|
||||
Store 466(bv) 530
|
||||
531: 52(i8vec2) Load 352(i8v)
|
||||
532: 14(int8_t) Load 355(i8)
|
||||
533: 52(i8vec2) CompositeConstruct 532 532
|
||||
534: 172(bvec2) INotEqual 531 533
|
||||
535: 284(ptr) AccessChain 466(bv) 286
|
||||
536: 171(bool) CompositeExtract 534 0
|
||||
Store 535 536
|
||||
537: 284(ptr) AccessChain 466(bv) 270
|
||||
538: 171(bool) CompositeExtract 534 1
|
||||
Store 537 538
|
||||
Return
|
||||
FunctionEnd
|
||||
|
@ -1,4 +1,5 @@
|
||||
spv.intrinsicsSpirvLiteral.vert
|
||||
Validation failed
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 12
|
||||
|
@ -22,7 +22,9 @@ Validation failed
|
||||
Decorate 11(as) Binding 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeRayQueryKHR
|
||||
7: TypePointer Function 6
|
||||
9: TypeAccelerationStructureKHR
|
||||
10: TypePointer UniformConstant 9
|
||||
11(as): 10(ptr) Variable UniformConstant
|
||||
13: TypeInt 32 0
|
||||
@ -36,8 +38,6 @@ Validation failed
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
8(rq): 7(ptr) Variable Function
|
||||
6: TypeRayQueryKHR
|
||||
9: TypeAccelerationStructureKHR
|
||||
12: 9 Load 11(as)
|
||||
RayQueryInitializeKHR 8(rq) 12 14 14 18 17 20 19
|
||||
RayQueryTerminateKHR 8(rq)
|
||||
|
43
Test/baseResults/spv.intrinsicsSpirvTypeLocalVar.vert.out
Normal file
43
Test/baseResults/spv.intrinsicsSpirvTypeLocalVar.vert.out
Normal file
@ -0,0 +1,43 @@
|
||||
spv.intrinsicsSpirvTypeLocalVar.vert
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 22
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4 "main"
|
||||
Source GLSL 460
|
||||
SourceExtension "GL_EXT_spirv_intrinsics"
|
||||
Name 4 "main"
|
||||
Name 10 "func(spv-t1;"
|
||||
Name 9 "emptyStruct"
|
||||
Name 13 "size"
|
||||
Name 16 "dummy"
|
||||
Name 18 "param"
|
||||
Decorate 13(size) SpecId 9
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeStruct
|
||||
7: TypePointer Function 6(struct)
|
||||
8: TypeFunction 2 7(ptr)
|
||||
12: TypeInt 32 1
|
||||
13(size): 12(int) SpecConstant 9
|
||||
14: TypeArray 6(struct) 13(size)
|
||||
15: TypePointer Function 14
|
||||
17: 12(int) Constant 1
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
16(dummy): 15(ptr) Variable Function
|
||||
18(param): 7(ptr) Variable Function
|
||||
19: 7(ptr) AccessChain 16(dummy) 17
|
||||
20: 6(struct) Load 19
|
||||
Store 18(param) 20
|
||||
21: 2 FunctionCall 10(func(spv-t1;) 18(param)
|
||||
Return
|
||||
FunctionEnd
|
||||
10(func(spv-t1;): 2 Function None 8
|
||||
9(emptyStruct): 7(ptr) FunctionParameter
|
||||
11: Label
|
||||
Return
|
||||
FunctionEnd
|
55
Test/baseResults/spv.invariantAll.vert.out
Normal file
55
Test/baseResults/spv.invariantAll.vert.out
Normal file
@ -0,0 +1,55 @@
|
||||
spv.invariantAll.vert
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 25
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4 "main" 13 17
|
||||
Source GLSL 450
|
||||
Name 4 "main"
|
||||
Name 11 "gl_PerVertex"
|
||||
MemberName 11(gl_PerVertex) 0 "gl_Position"
|
||||
MemberName 11(gl_PerVertex) 1 "gl_PointSize"
|
||||
MemberName 11(gl_PerVertex) 2 "gl_ClipDistance"
|
||||
MemberName 11(gl_PerVertex) 3 "gl_CullDistance"
|
||||
Name 13 ""
|
||||
Name 17 "v"
|
||||
MemberDecorate 11(gl_PerVertex) 0 Invariant
|
||||
MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position
|
||||
MemberDecorate 11(gl_PerVertex) 1 Invariant
|
||||
MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize
|
||||
MemberDecorate 11(gl_PerVertex) 2 Invariant
|
||||
MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance
|
||||
MemberDecorate 11(gl_PerVertex) 3 Invariant
|
||||
MemberDecorate 11(gl_PerVertex) 3 BuiltIn CullDistance
|
||||
Decorate 11(gl_PerVertex) Block
|
||||
Decorate 17(v) Location 0
|
||||
Decorate 17(v) Invariant
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypeInt 32 0
|
||||
9: 8(int) Constant 1
|
||||
10: TypeArray 6(float) 9
|
||||
11(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 10 10
|
||||
12: TypePointer Output 11(gl_PerVertex)
|
||||
13: 12(ptr) Variable Output
|
||||
14: TypeInt 32 1
|
||||
15: 14(int) Constant 0
|
||||
16: TypePointer Output 6(float)
|
||||
17(v): 16(ptr) Variable Output
|
||||
20: 6(float) Constant 0
|
||||
21: 6(float) Constant 1065353216
|
||||
23: TypePointer Output 7(fvec4)
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
18: 6(float) Load 17(v)
|
||||
19: 6(float) Load 17(v)
|
||||
22: 7(fvec4) CompositeConstruct 18 19 20 21
|
||||
24: 23(ptr) AccessChain 13 15
|
||||
Store 24 22
|
||||
Return
|
||||
FunctionEnd
|
@ -36,10 +36,6 @@ spv.precise.tese
|
||||
Decorate 43 NoContraction
|
||||
Decorate 62(in_f_color) RelaxedPrecision
|
||||
Decorate 62(in_f_color) Location 0
|
||||
Decorate 67 RelaxedPrecision
|
||||
Decorate 68 RelaxedPrecision
|
||||
Decorate 69 RelaxedPrecision
|
||||
Decorate 70 RelaxedPrecision
|
||||
Decorate 97 NoContraction
|
||||
Decorate 99 NoContraction
|
||||
Decorate 101 NoContraction
|
||||
|
@ -1,7 +1,7 @@
|
||||
spv.shaderBallot.comp
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 343
|
||||
// Id's are bound by 397
|
||||
|
||||
Capability Shader
|
||||
Capability Int64
|
||||
@ -42,7 +42,7 @@ spv.shaderBallot.comp
|
||||
Decorate 72(Buffers) BufferBlock
|
||||
Decorate 75(data) DescriptorSet 0
|
||||
Decorate 75(data) Binding 0
|
||||
Decorate 342 BuiltIn WorkgroupSize
|
||||
Decorate 396 BuiltIn WorkgroupSize
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
@ -89,8 +89,8 @@ spv.shaderBallot.comp
|
||||
196: TypePointer Uniform 6(int)
|
||||
203: TypePointer Uniform 20(ivec4)
|
||||
218: TypeVector 6(int) 3
|
||||
341: 6(int) Constant 8
|
||||
342: 218(ivec3) ConstantComposite 341 341 100
|
||||
395: 6(int) Constant 8
|
||||
396: 218(ivec3) ConstantComposite 395 395 100
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
8(invocation): 7(ptr) Variable Function
|
||||
@ -329,107 +329,161 @@ spv.shaderBallot.comp
|
||||
257: 88(ptr) AccessChain 75(data) 86 77
|
||||
258: 69(fvec4) Load 257
|
||||
259: 87(fvec2) VectorShuffle 258 258 0 1
|
||||
260: 87(fvec2) SubgroupFirstInvocationKHR 259
|
||||
261: 79(ptr) AccessChain 75(data) 256 77 78
|
||||
262: 68(float) CompositeExtract 260 0
|
||||
Store 261 262
|
||||
263: 79(ptr) AccessChain 75(data) 256 77 100
|
||||
264: 68(float) CompositeExtract 260 1
|
||||
Store 263 264
|
||||
265: 6(int) Load 8(invocation)
|
||||
266: 88(ptr) AccessChain 75(data) 104 77
|
||||
267: 69(fvec4) Load 266
|
||||
268: 105(fvec3) VectorShuffle 267 267 0 1 2
|
||||
269: 105(fvec3) SubgroupFirstInvocationKHR 268
|
||||
270: 79(ptr) AccessChain 75(data) 265 77 78
|
||||
271: 68(float) CompositeExtract 269 0
|
||||
Store 270 271
|
||||
272: 79(ptr) AccessChain 75(data) 265 77 100
|
||||
273: 68(float) CompositeExtract 269 1
|
||||
Store 272 273
|
||||
274: 79(ptr) AccessChain 75(data) 265 77 121
|
||||
275: 68(float) CompositeExtract 269 2
|
||||
Store 274 275
|
||||
276: 6(int) Load 8(invocation)
|
||||
277: 88(ptr) AccessChain 75(data) 125 77
|
||||
278: 69(fvec4) Load 277
|
||||
279: 69(fvec4) SubgroupFirstInvocationKHR 278
|
||||
280: 88(ptr) AccessChain 75(data) 276 77
|
||||
Store 280 279
|
||||
281: 6(int) Load 8(invocation)
|
||||
282: 140(ptr) AccessChain 75(data) 77 86 78
|
||||
283: 70(int) Load 282
|
||||
284: 70(int) SubgroupFirstInvocationKHR 283
|
||||
285: 140(ptr) AccessChain 75(data) 281 86 78
|
||||
Store 285 284
|
||||
260: 68(float) CompositeExtract 259 0
|
||||
261: 68(float) SubgroupFirstInvocationKHR 260
|
||||
262: 68(float) CompositeExtract 259 1
|
||||
263: 68(float) SubgroupFirstInvocationKHR 262
|
||||
264: 87(fvec2) CompositeConstruct 261 263
|
||||
265: 79(ptr) AccessChain 75(data) 256 77 78
|
||||
266: 68(float) CompositeExtract 264 0
|
||||
Store 265 266
|
||||
267: 79(ptr) AccessChain 75(data) 256 77 100
|
||||
268: 68(float) CompositeExtract 264 1
|
||||
Store 267 268
|
||||
269: 6(int) Load 8(invocation)
|
||||
270: 88(ptr) AccessChain 75(data) 104 77
|
||||
271: 69(fvec4) Load 270
|
||||
272: 105(fvec3) VectorShuffle 271 271 0 1 2
|
||||
273: 68(float) CompositeExtract 272 0
|
||||
274: 68(float) SubgroupFirstInvocationKHR 273
|
||||
275: 68(float) CompositeExtract 272 1
|
||||
276: 68(float) SubgroupFirstInvocationKHR 275
|
||||
277: 68(float) CompositeExtract 272 2
|
||||
278: 68(float) SubgroupFirstInvocationKHR 277
|
||||
279: 105(fvec3) CompositeConstruct 274 276 278
|
||||
280: 79(ptr) AccessChain 75(data) 269 77 78
|
||||
281: 68(float) CompositeExtract 279 0
|
||||
Store 280 281
|
||||
282: 79(ptr) AccessChain 75(data) 269 77 100
|
||||
283: 68(float) CompositeExtract 279 1
|
||||
Store 282 283
|
||||
284: 79(ptr) AccessChain 75(data) 269 77 121
|
||||
285: 68(float) CompositeExtract 279 2
|
||||
Store 284 285
|
||||
286: 6(int) Load 8(invocation)
|
||||
287: 148(ptr) AccessChain 75(data) 86 86
|
||||
288: 71(ivec4) Load 287
|
||||
289: 147(ivec2) VectorShuffle 288 288 0 1
|
||||
290: 147(ivec2) SubgroupFirstInvocationKHR 289
|
||||
291: 140(ptr) AccessChain 75(data) 286 86 78
|
||||
292: 70(int) CompositeExtract 290 0
|
||||
Store 291 292
|
||||
293: 140(ptr) AccessChain 75(data) 286 86 100
|
||||
294: 70(int) CompositeExtract 290 1
|
||||
Store 293 294
|
||||
295: 6(int) Load 8(invocation)
|
||||
296: 148(ptr) AccessChain 75(data) 104 86
|
||||
297: 71(ivec4) Load 296
|
||||
298: 163(ivec3) VectorShuffle 297 297 0 1 2
|
||||
299: 163(ivec3) SubgroupFirstInvocationKHR 298
|
||||
300: 140(ptr) AccessChain 75(data) 295 86 78
|
||||
301: 70(int) CompositeExtract 299 0
|
||||
Store 300 301
|
||||
302: 140(ptr) AccessChain 75(data) 295 86 100
|
||||
303: 70(int) CompositeExtract 299 1
|
||||
Store 302 303
|
||||
304: 140(ptr) AccessChain 75(data) 295 86 121
|
||||
305: 70(int) CompositeExtract 299 2
|
||||
Store 304 305
|
||||
306: 6(int) Load 8(invocation)
|
||||
307: 148(ptr) AccessChain 75(data) 125 86
|
||||
308: 71(ivec4) Load 307
|
||||
309: 71(ivec4) SubgroupFirstInvocationKHR 308
|
||||
310: 148(ptr) AccessChain 75(data) 306 86
|
||||
Store 310 309
|
||||
311: 6(int) Load 8(invocation)
|
||||
312: 196(ptr) AccessChain 75(data) 77 104 78
|
||||
313: 6(int) Load 312
|
||||
314: 6(int) SubgroupFirstInvocationKHR 313
|
||||
315: 196(ptr) AccessChain 75(data) 311 104 78
|
||||
Store 315 314
|
||||
316: 6(int) Load 8(invocation)
|
||||
317: 203(ptr) AccessChain 75(data) 86 104
|
||||
318: 20(ivec4) Load 317
|
||||
319: 26(ivec2) VectorShuffle 318 318 0 1
|
||||
320: 26(ivec2) SubgroupFirstInvocationKHR 319
|
||||
321: 196(ptr) AccessChain 75(data) 316 104 78
|
||||
322: 6(int) CompositeExtract 320 0
|
||||
Store 321 322
|
||||
323: 196(ptr) AccessChain 75(data) 316 104 100
|
||||
324: 6(int) CompositeExtract 320 1
|
||||
Store 323 324
|
||||
325: 6(int) Load 8(invocation)
|
||||
326: 203(ptr) AccessChain 75(data) 104 104
|
||||
327: 20(ivec4) Load 326
|
||||
328: 218(ivec3) VectorShuffle 327 327 0 1 2
|
||||
329: 218(ivec3) SubgroupFirstInvocationKHR 328
|
||||
330: 196(ptr) AccessChain 75(data) 325 104 78
|
||||
331: 6(int) CompositeExtract 329 0
|
||||
287: 88(ptr) AccessChain 75(data) 125 77
|
||||
288: 69(fvec4) Load 287
|
||||
289: 68(float) CompositeExtract 288 0
|
||||
290: 68(float) SubgroupFirstInvocationKHR 289
|
||||
291: 68(float) CompositeExtract 288 1
|
||||
292: 68(float) SubgroupFirstInvocationKHR 291
|
||||
293: 68(float) CompositeExtract 288 2
|
||||
294: 68(float) SubgroupFirstInvocationKHR 293
|
||||
295: 68(float) CompositeExtract 288 3
|
||||
296: 68(float) SubgroupFirstInvocationKHR 295
|
||||
297: 69(fvec4) CompositeConstruct 290 292 294 296
|
||||
298: 88(ptr) AccessChain 75(data) 286 77
|
||||
Store 298 297
|
||||
299: 6(int) Load 8(invocation)
|
||||
300: 140(ptr) AccessChain 75(data) 77 86 78
|
||||
301: 70(int) Load 300
|
||||
302: 70(int) SubgroupFirstInvocationKHR 301
|
||||
303: 140(ptr) AccessChain 75(data) 299 86 78
|
||||
Store 303 302
|
||||
304: 6(int) Load 8(invocation)
|
||||
305: 148(ptr) AccessChain 75(data) 86 86
|
||||
306: 71(ivec4) Load 305
|
||||
307: 147(ivec2) VectorShuffle 306 306 0 1
|
||||
308: 70(int) CompositeExtract 307 0
|
||||
309: 70(int) SubgroupFirstInvocationKHR 308
|
||||
310: 70(int) CompositeExtract 307 1
|
||||
311: 70(int) SubgroupFirstInvocationKHR 310
|
||||
312: 147(ivec2) CompositeConstruct 309 311
|
||||
313: 140(ptr) AccessChain 75(data) 304 86 78
|
||||
314: 70(int) CompositeExtract 312 0
|
||||
Store 313 314
|
||||
315: 140(ptr) AccessChain 75(data) 304 86 100
|
||||
316: 70(int) CompositeExtract 312 1
|
||||
Store 315 316
|
||||
317: 6(int) Load 8(invocation)
|
||||
318: 148(ptr) AccessChain 75(data) 104 86
|
||||
319: 71(ivec4) Load 318
|
||||
320: 163(ivec3) VectorShuffle 319 319 0 1 2
|
||||
321: 70(int) CompositeExtract 320 0
|
||||
322: 70(int) SubgroupFirstInvocationKHR 321
|
||||
323: 70(int) CompositeExtract 320 1
|
||||
324: 70(int) SubgroupFirstInvocationKHR 323
|
||||
325: 70(int) CompositeExtract 320 2
|
||||
326: 70(int) SubgroupFirstInvocationKHR 325
|
||||
327: 163(ivec3) CompositeConstruct 322 324 326
|
||||
328: 140(ptr) AccessChain 75(data) 317 86 78
|
||||
329: 70(int) CompositeExtract 327 0
|
||||
Store 328 329
|
||||
330: 140(ptr) AccessChain 75(data) 317 86 100
|
||||
331: 70(int) CompositeExtract 327 1
|
||||
Store 330 331
|
||||
332: 196(ptr) AccessChain 75(data) 325 104 100
|
||||
333: 6(int) CompositeExtract 329 1
|
||||
332: 140(ptr) AccessChain 75(data) 317 86 121
|
||||
333: 70(int) CompositeExtract 327 2
|
||||
Store 332 333
|
||||
334: 196(ptr) AccessChain 75(data) 325 104 121
|
||||
335: 6(int) CompositeExtract 329 2
|
||||
Store 334 335
|
||||
336: 6(int) Load 8(invocation)
|
||||
337: 203(ptr) AccessChain 75(data) 125 104
|
||||
338: 20(ivec4) Load 337
|
||||
339: 20(ivec4) SubgroupFirstInvocationKHR 338
|
||||
340: 203(ptr) AccessChain 75(data) 336 104
|
||||
Store 340 339
|
||||
334: 6(int) Load 8(invocation)
|
||||
335: 148(ptr) AccessChain 75(data) 125 86
|
||||
336: 71(ivec4) Load 335
|
||||
337: 70(int) CompositeExtract 336 0
|
||||
338: 70(int) SubgroupFirstInvocationKHR 337
|
||||
339: 70(int) CompositeExtract 336 1
|
||||
340: 70(int) SubgroupFirstInvocationKHR 339
|
||||
341: 70(int) CompositeExtract 336 2
|
||||
342: 70(int) SubgroupFirstInvocationKHR 341
|
||||
343: 70(int) CompositeExtract 336 3
|
||||
344: 70(int) SubgroupFirstInvocationKHR 343
|
||||
345: 71(ivec4) CompositeConstruct 338 340 342 344
|
||||
346: 148(ptr) AccessChain 75(data) 334 86
|
||||
Store 346 345
|
||||
347: 6(int) Load 8(invocation)
|
||||
348: 196(ptr) AccessChain 75(data) 77 104 78
|
||||
349: 6(int) Load 348
|
||||
350: 6(int) SubgroupFirstInvocationKHR 349
|
||||
351: 196(ptr) AccessChain 75(data) 347 104 78
|
||||
Store 351 350
|
||||
352: 6(int) Load 8(invocation)
|
||||
353: 203(ptr) AccessChain 75(data) 86 104
|
||||
354: 20(ivec4) Load 353
|
||||
355: 26(ivec2) VectorShuffle 354 354 0 1
|
||||
356: 6(int) CompositeExtract 355 0
|
||||
357: 6(int) SubgroupFirstInvocationKHR 356
|
||||
358: 6(int) CompositeExtract 355 1
|
||||
359: 6(int) SubgroupFirstInvocationKHR 358
|
||||
360: 26(ivec2) CompositeConstruct 357 359
|
||||
361: 196(ptr) AccessChain 75(data) 352 104 78
|
||||
362: 6(int) CompositeExtract 360 0
|
||||
Store 361 362
|
||||
363: 196(ptr) AccessChain 75(data) 352 104 100
|
||||
364: 6(int) CompositeExtract 360 1
|
||||
Store 363 364
|
||||
365: 6(int) Load 8(invocation)
|
||||
366: 203(ptr) AccessChain 75(data) 104 104
|
||||
367: 20(ivec4) Load 366
|
||||
368: 218(ivec3) VectorShuffle 367 367 0 1 2
|
||||
369: 6(int) CompositeExtract 368 0
|
||||
370: 6(int) SubgroupFirstInvocationKHR 369
|
||||
371: 6(int) CompositeExtract 368 1
|
||||
372: 6(int) SubgroupFirstInvocationKHR 371
|
||||
373: 6(int) CompositeExtract 368 2
|
||||
374: 6(int) SubgroupFirstInvocationKHR 373
|
||||
375: 218(ivec3) CompositeConstruct 370 372 374
|
||||
376: 196(ptr) AccessChain 75(data) 365 104 78
|
||||
377: 6(int) CompositeExtract 375 0
|
||||
Store 376 377
|
||||
378: 196(ptr) AccessChain 75(data) 365 104 100
|
||||
379: 6(int) CompositeExtract 375 1
|
||||
Store 378 379
|
||||
380: 196(ptr) AccessChain 75(data) 365 104 121
|
||||
381: 6(int) CompositeExtract 375 2
|
||||
Store 380 381
|
||||
382: 6(int) Load 8(invocation)
|
||||
383: 203(ptr) AccessChain 75(data) 125 104
|
||||
384: 20(ivec4) Load 383
|
||||
385: 6(int) CompositeExtract 384 0
|
||||
386: 6(int) SubgroupFirstInvocationKHR 385
|
||||
387: 6(int) CompositeExtract 384 1
|
||||
388: 6(int) SubgroupFirstInvocationKHR 387
|
||||
389: 6(int) CompositeExtract 384 2
|
||||
390: 6(int) SubgroupFirstInvocationKHR 389
|
||||
391: 6(int) CompositeExtract 384 3
|
||||
392: 6(int) SubgroupFirstInvocationKHR 391
|
||||
393: 20(ivec4) CompositeConstruct 386 388 390 392
|
||||
394: 203(ptr) AccessChain 75(data) 382 104
|
||||
Store 394 393
|
||||
Branch 67
|
||||
67: Label
|
||||
Return
|
||||
|
@ -24,6 +24,7 @@ spv.subgroup.frag
|
||||
Decorate 13(gl_SubgroupInvocationID) Flat
|
||||
Decorate 13(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
|
||||
Decorate 14 RelaxedPrecision
|
||||
Decorate 16 RelaxedPrecision
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
|
@ -33,6 +33,7 @@ spv.subgroup.geom
|
||||
Decorate 20(gl_SubgroupInvocationID) RelaxedPrecision
|
||||
Decorate 20(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
|
||||
Decorate 21 RelaxedPrecision
|
||||
Decorate 23 RelaxedPrecision
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
|
@ -30,6 +30,7 @@ spv.subgroup.tesc
|
||||
Decorate 20(gl_SubgroupInvocationID) RelaxedPrecision
|
||||
Decorate 20(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
|
||||
Decorate 21 RelaxedPrecision
|
||||
Decorate 23 RelaxedPrecision
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
|
@ -32,6 +32,7 @@ spv.subgroup.tese
|
||||
Decorate 20(gl_SubgroupInvocationID) RelaxedPrecision
|
||||
Decorate 20(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
|
||||
Decorate 21 RelaxedPrecision
|
||||
Decorate 23 RelaxedPrecision
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
|
@ -29,6 +29,7 @@ spv.subgroup.vert
|
||||
Decorate 20(gl_SubgroupInvocationID) RelaxedPrecision
|
||||
Decorate 20(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
|
||||
Decorate 21 RelaxedPrecision
|
||||
Decorate 23 RelaxedPrecision
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
|
@ -75,6 +75,7 @@ spv.uint.frag
|
||||
Decorate 90 RelaxedPrecision
|
||||
Decorate 91 RelaxedPrecision
|
||||
Decorate 92 RelaxedPrecision
|
||||
Decorate 93 RelaxedPrecision
|
||||
Decorate 97 RelaxedPrecision
|
||||
Decorate 98 RelaxedPrecision
|
||||
Decorate 101 RelaxedPrecision
|
||||
|
@ -1,8 +1,7 @@
|
||||
spv.viewportArray2.tesc
|
||||
Validation failed
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 25
|
||||
// Id's are bound by 23
|
||||
|
||||
Capability Tessellation
|
||||
Capability ShaderViewportIndexLayerNV
|
||||
@ -11,23 +10,21 @@ Validation failed
|
||||
Extension "SPV_NV_viewport_array2"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint TessellationControl 4 "main" 14 16 22 24
|
||||
EntryPoint TessellationControl 4 "main" 14 16 22
|
||||
ExecutionMode 4 OutputVertices 4
|
||||
Source GLSL 450
|
||||
Source GLSL 430
|
||||
SourceExtension "GL_NV_viewport_array2"
|
||||
Name 4 "main"
|
||||
Name 10 "gl_PerVertex"
|
||||
MemberName 10(gl_PerVertex) 0 "gl_ViewportMask"
|
||||
Name 14 "gl_out"
|
||||
Name 16 "gl_InvocationID"
|
||||
Name 22 "gl_ViewportIndex"
|
||||
Name 24 "gl_Layer"
|
||||
Name 22 "gl_Layer"
|
||||
MemberDecorate 10(gl_PerVertex) 0 BuiltIn ViewportMaskNV
|
||||
Decorate 10(gl_PerVertex) Block
|
||||
Decorate 16(gl_InvocationID) BuiltIn InvocationId
|
||||
Decorate 22(gl_ViewportIndex) BuiltIn ViewportIndex
|
||||
Decorate 24(gl_Layer) BuiltIn Layer
|
||||
Decorate 24(gl_Layer) ViewportRelativeNV
|
||||
Decorate 22(gl_Layer) BuiltIn Layer
|
||||
Decorate 22(gl_Layer) ViewportRelativeNV
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 1
|
||||
@ -44,14 +41,11 @@ Validation failed
|
||||
18: 6(int) Constant 0
|
||||
19: 6(int) Constant 1
|
||||
20: TypePointer Output 6(int)
|
||||
22(gl_ViewportIndex): 20(ptr) Variable Output
|
||||
23: 6(int) Constant 2
|
||||
24(gl_Layer): 20(ptr) Variable Output
|
||||
22(gl_Layer): 20(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
17: 6(int) Load 16(gl_InvocationID)
|
||||
21: 20(ptr) AccessChain 14(gl_out) 17 18 18
|
||||
Store 21 19
|
||||
Store 22(gl_ViewportIndex) 23
|
||||
Return
|
||||
FunctionEnd
|
||||
|
@ -134,7 +134,7 @@ ERROR: node is still EOpNull!
|
||||
0:59 Condition
|
||||
0:59 Compare Equal ( temp bool)
|
||||
0:59 'shiftedii' ( temp mediump int)
|
||||
0:59 Convert uint to int ( temp int)
|
||||
0:59 Convert uint to int ( temp mediump int)
|
||||
0:59 'shiftedui' ( temp mediump uint)
|
||||
0:59 true case
|
||||
0:60 move second child to first child ( temp mediump 4-component vector of uint)
|
||||
@ -433,7 +433,7 @@ ERROR: node is still EOpNull!
|
||||
0:59 Condition
|
||||
0:59 Compare Equal ( temp bool)
|
||||
0:59 'shiftedii' ( temp mediump int)
|
||||
0:59 Convert uint to int ( temp int)
|
||||
0:59 Convert uint to int ( temp mediump int)
|
||||
0:59 'shiftedui' ( temp mediump uint)
|
||||
0:59 true case
|
||||
0:60 move second child to first child ( temp mediump 4-component vector of uint)
|
||||
|
@ -34,8 +34,8 @@ Shader version: 460
|
||||
0:? 'Color' ( smooth out highp 4-component vector of float)
|
||||
0:? 'UV' ( smooth out highp 2-component vector of float)
|
||||
0:? 'anon@1' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance, out unsized 1-element array of float CullDistance gl_CullDistance})
|
||||
0:? 'gl_VertexID' ( in int VertexIndex)
|
||||
0:? 'gl_InstanceID' ( in int InstanceIndex)
|
||||
0:? 'gl_VertexIndex' ( in int VertexIndex)
|
||||
0:? 'gl_InstanceIndex' ( in int InstanceIndex)
|
||||
|
||||
vk.relaxed.changeSet.frag
|
||||
Shader version: 460
|
||||
@ -108,8 +108,8 @@ Shader version: 460
|
||||
0:? 'Color' ( smooth out highp 4-component vector of float)
|
||||
0:? 'UV' ( smooth out highp 2-component vector of float)
|
||||
0:? 'anon@1' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, out 1-element array of float CullDistance gl_CullDistance})
|
||||
0:? 'gl_VertexID' ( in int VertexIndex)
|
||||
0:? 'gl_InstanceID' ( in int InstanceIndex)
|
||||
0:? 'gl_VertexIndex' ( in int VertexIndex)
|
||||
0:? 'gl_InstanceIndex' ( in int InstanceIndex)
|
||||
Shader version: 460
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
@ -162,8 +162,8 @@ gl_FragCoord origin is upper left
|
||||
MemberName 28(gl_DefaultUniformBlock) 0 "projectionMatrix"
|
||||
Name 30 ""
|
||||
Name 34 "aPos"
|
||||
Name 44 "gl_VertexID"
|
||||
Name 45 "gl_InstanceID"
|
||||
Name 44 "gl_VertexIndex"
|
||||
Name 45 "gl_InstanceIndex"
|
||||
Decorate 9(Color) Location 0
|
||||
Decorate 11(aColor) Location 2
|
||||
Decorate 15(UV) Location 1
|
||||
@ -180,8 +180,8 @@ gl_FragCoord origin is upper left
|
||||
Decorate 30 DescriptorSet 0
|
||||
Decorate 30 Binding 0
|
||||
Decorate 34(aPos) Location 0
|
||||
Decorate 44(gl_VertexID) BuiltIn VertexIndex
|
||||
Decorate 45(gl_InstanceID) BuiltIn InstanceIndex
|
||||
Decorate 44(gl_VertexIndex) BuiltIn VertexIndex
|
||||
Decorate 45(gl_InstanceIndex) BuiltIn InstanceIndex
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
@ -212,8 +212,8 @@ gl_FragCoord origin is upper left
|
||||
36: 6(float) Constant 0
|
||||
37: 6(float) Constant 1065353216
|
||||
43: TypePointer Input 25(int)
|
||||
44(gl_VertexID): 43(ptr) Variable Input
|
||||
45(gl_InstanceID): 43(ptr) Variable Input
|
||||
44(gl_VertexIndex): 43(ptr) Variable Input
|
||||
45(gl_InstanceIndex): 43(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
12: 7(fvec4) Load 11(aColor)
|
||||
|
@ -28,8 +28,8 @@ Shader version: 460
|
||||
0:? Linker Objects
|
||||
0:? 'io' (layout( location=0) smooth out highp 4-component vector of float)
|
||||
0:? 'anon@0' (layout( column_major std140) uniform block{ uniform highp 2-component vector of float a})
|
||||
0:? 'gl_VertexID' ( in int VertexIndex)
|
||||
0:? 'gl_InstanceID' ( in int InstanceIndex)
|
||||
0:? 'gl_VertexIndex' ( in int VertexIndex)
|
||||
0:? 'gl_InstanceIndex' ( in int InstanceIndex)
|
||||
|
||||
vk.relaxed.errorcheck.frag
|
||||
Shader version: 460
|
||||
@ -94,8 +94,8 @@ Shader version: 460
|
||||
0:? Linker Objects
|
||||
0:? 'io' (layout( location=0) smooth out highp 4-component vector of float)
|
||||
0:? 'anon@0' (layout( column_major std140) uniform block{ uniform highp 2-component vector of float a})
|
||||
0:? 'gl_VertexID' ( in int VertexIndex)
|
||||
0:? 'gl_InstanceID' ( in int InstanceIndex)
|
||||
0:? 'gl_VertexIndex' ( in int VertexIndex)
|
||||
0:? 'gl_InstanceIndex' ( in int InstanceIndex)
|
||||
Shader version: 460
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
|
@ -93,7 +93,9 @@ Shader version: 460
|
||||
0:28 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b2, uniform highp 2-component vector of float b1, uniform highp 4-component vector of float c2, uniform highp 4-component vector of float d, uniform 4-element array of highp 4-component vector of float s})
|
||||
0:28 Constant:
|
||||
0:28 5 (const uint)
|
||||
0:28 'gl_VertexID' ( in int VertexIndex)
|
||||
0:28 subtract ( temp int)
|
||||
0:28 'gl_VertexIndex' ( in int VertexIndex)
|
||||
0:28 'gl_VertexIndex' ( in int VertexIndex)
|
||||
0:29 move second child to first child ( temp highp float)
|
||||
0:29 direct index ( temp highp float)
|
||||
0:29 'v' ( temp highp 4-component vector of float)
|
||||
@ -105,7 +107,9 @@ Shader version: 460
|
||||
0:29 Constant:
|
||||
0:29 0 (const int)
|
||||
0:29 Convert int to float ( temp highp float)
|
||||
0:29 'gl_InstanceID' ( in highp int InstanceIndex)
|
||||
0:29 subtract ( temp highp int)
|
||||
0:29 'gl_InstanceIndex' ( in highp int InstanceIndex)
|
||||
0:29 'gl_InstanceIndex' ( in highp int InstanceIndex)
|
||||
0:30 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:30 'io' (layout( location=0) smooth out highp 4-component vector of float)
|
||||
0:30 'v' ( temp highp 4-component vector of float)
|
||||
@ -113,8 +117,8 @@ Shader version: 460
|
||||
0:? 'io' (layout( location=0) smooth out highp 4-component vector of float)
|
||||
0:? 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b2, uniform highp 2-component vector of float b1, uniform highp 4-component vector of float c2, uniform highp 4-component vector of float d, uniform 4-element array of highp 4-component vector of float s})
|
||||
0:? 'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3, coherent volatile buffer highp uint counter2})
|
||||
0:? 'gl_VertexID' ( in int VertexIndex)
|
||||
0:? 'gl_InstanceID' ( in int InstanceIndex)
|
||||
0:? 'gl_VertexIndex' ( in int VertexIndex)
|
||||
0:? 'gl_InstanceIndex' ( in int InstanceIndex)
|
||||
|
||||
vk.relaxed.stagelink.frag
|
||||
Shader version: 460
|
||||
@ -311,7 +315,9 @@ Shader version: 460
|
||||
0:28 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b2, uniform highp 2-component vector of float b1, uniform highp 4-component vector of float c2, uniform highp 4-component vector of float d, uniform 4-element array of highp 4-component vector of float s})
|
||||
0:28 Constant:
|
||||
0:28 5 (const uint)
|
||||
0:28 'gl_VertexID' ( in int VertexIndex)
|
||||
0:28 subtract ( temp int)
|
||||
0:28 'gl_VertexIndex' ( in int VertexIndex)
|
||||
0:28 'gl_VertexIndex' ( in int VertexIndex)
|
||||
0:29 move second child to first child ( temp highp float)
|
||||
0:29 direct index ( temp highp float)
|
||||
0:29 'v' ( temp highp 4-component vector of float)
|
||||
@ -323,7 +329,9 @@ Shader version: 460
|
||||
0:29 Constant:
|
||||
0:29 0 (const int)
|
||||
0:29 Convert int to float ( temp highp float)
|
||||
0:29 'gl_InstanceID' ( in highp int InstanceIndex)
|
||||
0:29 subtract ( temp highp int)
|
||||
0:29 'gl_InstanceIndex' ( in highp int InstanceIndex)
|
||||
0:29 'gl_InstanceIndex' ( in highp int InstanceIndex)
|
||||
0:30 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:30 'io' (layout( location=0) smooth out highp 4-component vector of float)
|
||||
0:30 'v' ( temp highp 4-component vector of float)
|
||||
@ -331,8 +339,8 @@ Shader version: 460
|
||||
0:? 'io' (layout( location=0) smooth out highp 4-component vector of float)
|
||||
0:? 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b2, uniform highp 2-component vector of float b1, uniform highp 4-component vector of float c2, uniform highp 4-component vector of float d, uniform 4-element array of highp 4-component vector of float s})
|
||||
0:? 'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3, coherent volatile buffer highp uint counter2})
|
||||
0:? 'gl_VertexID' ( in int VertexIndex)
|
||||
0:? 'gl_InstanceID' ( in int InstanceIndex)
|
||||
0:? 'gl_VertexIndex' ( in int VertexIndex)
|
||||
0:? 'gl_InstanceIndex' ( in int InstanceIndex)
|
||||
Shader version: 460
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
@ -428,12 +436,12 @@ gl_FragCoord origin is upper left
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 88
|
||||
// Id's are bound by 92
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4 "main" 72 80 86
|
||||
EntryPoint Vertex 4 "main" 72 82 90
|
||||
Source GLSL 460
|
||||
Name 4 "main"
|
||||
Name 9 "foo("
|
||||
@ -454,9 +462,9 @@ gl_FragCoord origin is upper left
|
||||
MemberName 35(gl_DefaultUniformBlock) 6 "c1"
|
||||
Name 37 ""
|
||||
Name 67 "v"
|
||||
Name 72 "gl_VertexID"
|
||||
Name 80 "gl_InstanceID"
|
||||
Name 86 "io"
|
||||
Name 72 "gl_VertexIndex"
|
||||
Name 82 "gl_InstanceIndex"
|
||||
Name 90 "io"
|
||||
MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Coherent
|
||||
MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Volatile
|
||||
MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Coherent
|
||||
@ -483,9 +491,9 @@ gl_FragCoord origin is upper left
|
||||
Decorate 35(gl_DefaultUniformBlock) Block
|
||||
Decorate 37 DescriptorSet 0
|
||||
Decorate 37 Binding 0
|
||||
Decorate 72(gl_VertexID) BuiltIn VertexIndex
|
||||
Decorate 80(gl_InstanceID) BuiltIn InstanceIndex
|
||||
Decorate 86(io) Location 0
|
||||
Decorate 72(gl_VertexIndex) BuiltIn VertexIndex
|
||||
Decorate 82(gl_InstanceIndex) BuiltIn InstanceIndex
|
||||
Decorate 90(io) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
@ -517,31 +525,35 @@ gl_FragCoord origin is upper left
|
||||
57: 17(int) Constant 4
|
||||
70: 17(int) Constant 5
|
||||
71: TypePointer Input 17(int)
|
||||
72(gl_VertexID): 71(ptr) Variable Input
|
||||
77: TypePointer Function 6(float)
|
||||
80(gl_InstanceID): 71(ptr) Variable Input
|
||||
85: TypePointer Output 7(fvec4)
|
||||
86(io): 85(ptr) Variable Output
|
||||
72(gl_VertexIndex): 71(ptr) Variable Input
|
||||
79: TypePointer Function 6(float)
|
||||
82(gl_InstanceIndex): 71(ptr) Variable Input
|
||||
89: TypePointer Output 7(fvec4)
|
||||
90(io): 89(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
67(v): 30(ptr) Variable Function
|
||||
68: 7(fvec4) FunctionCall 9(foo()
|
||||
Store 67(v) 68
|
||||
69: 7(fvec4) Load 67(v)
|
||||
73: 17(int) Load 72(gl_VertexID)
|
||||
74: 38(ptr) AccessChain 37 70 73
|
||||
75: 7(fvec4) Load 74
|
||||
76: 7(fvec4) FAdd 69 75
|
||||
Store 67(v) 76
|
||||
78: 77(ptr) AccessChain 67(v) 22
|
||||
79: 6(float) Load 78
|
||||
81: 17(int) Load 80(gl_InstanceID)
|
||||
82: 6(float) ConvertSToF 81
|
||||
83: 6(float) FSub 79 82
|
||||
84: 77(ptr) AccessChain 67(v) 22
|
||||
Store 84 83
|
||||
87: 7(fvec4) Load 67(v)
|
||||
Store 86(io) 87
|
||||
73: 17(int) Load 72(gl_VertexIndex)
|
||||
74: 17(int) Load 72(gl_VertexIndex)
|
||||
75: 17(int) ISub 73 74
|
||||
76: 38(ptr) AccessChain 37 70 75
|
||||
77: 7(fvec4) Load 76
|
||||
78: 7(fvec4) FAdd 69 77
|
||||
Store 67(v) 78
|
||||
80: 79(ptr) AccessChain 67(v) 22
|
||||
81: 6(float) Load 80
|
||||
83: 17(int) Load 82(gl_InstanceIndex)
|
||||
84: 17(int) Load 82(gl_InstanceIndex)
|
||||
85: 17(int) ISub 83 84
|
||||
86: 6(float) ConvertSToF 85
|
||||
87: 6(float) FSub 81 86
|
||||
88: 79(ptr) AccessChain 67(v) 22
|
||||
Store 88 87
|
||||
91: 7(fvec4) Load 67(v)
|
||||
Store 90(io) 91
|
||||
Return
|
||||
FunctionEnd
|
||||
9(foo(): 7(fvec4) Function None 8
|
||||
|
@ -19,10 +19,10 @@ Shader version: 450
|
||||
0:14 Convert bool to float ( temp float)
|
||||
0:14 'scbt' ( specialization-constant const bool)
|
||||
0:14 true (const bool)
|
||||
0:15 Convert int to float ( temp float)
|
||||
0:15 Convert int to float ( temp highp float)
|
||||
0:15 'sci2' ( specialization-constant const highp int)
|
||||
0:15 2 (const int)
|
||||
0:17 Convert float to int ( temp int)
|
||||
0:17 Convert float to int ( temp highp int)
|
||||
0:17 'scf1' ( specialization-constant const highp float)
|
||||
0:17 1.000000
|
||||
0:18 Convert bool to int ( specialization-constant const int)
|
||||
@ -86,34 +86,34 @@ Shader version: 450
|
||||
0:35 2 (const int)
|
||||
0:35 'sci2' ( specialization-constant const highp int)
|
||||
0:35 2 (const int)
|
||||
0:37 Construct ivec2 ( specialization-constant const 2-component vector of int)
|
||||
0:37 Construct ivec2 ( specialization-constant const highp 2-component vector of int)
|
||||
0:37 'sci2' ( specialization-constant const highp int)
|
||||
0:37 2 (const int)
|
||||
0:37 'sci2' ( specialization-constant const highp int)
|
||||
0:37 2 (const int)
|
||||
0:38 Construct ivec2 ( temp 2-element array of 2-component vector of int)
|
||||
0:38 Construct ivec2 ( specialization-constant const 2-component vector of int)
|
||||
0:38 Construct ivec2 ( temp 2-element array of highp 2-component vector of int)
|
||||
0:38 Construct ivec2 ( specialization-constant const highp 2-component vector of int)
|
||||
0:38 'sci2' ( specialization-constant const highp int)
|
||||
0:38 2 (const int)
|
||||
0:38 'sci2' ( specialization-constant const highp int)
|
||||
0:38 2 (const int)
|
||||
0:38 Construct ivec2 ( specialization-constant const 2-component vector of int)
|
||||
0:38 Construct ivec2 ( specialization-constant const highp 2-component vector of int)
|
||||
0:38 'sci2' ( specialization-constant const highp int)
|
||||
0:38 2 (const int)
|
||||
0:38 'sci2' ( specialization-constant const highp int)
|
||||
0:38 2 (const int)
|
||||
0:40 Construct vec2 ( specialization-constant const 2-component vector of float)
|
||||
0:40 Construct vec2 ( specialization-constant const highp 2-component vector of float)
|
||||
0:40 'scf1' ( specialization-constant const highp float)
|
||||
0:40 1.000000
|
||||
0:40 'scf1' ( specialization-constant const highp float)
|
||||
0:40 1.000000
|
||||
0:41 Construct vec2 ( temp 2-element array of 2-component vector of float)
|
||||
0:41 Construct vec2 ( specialization-constant const 2-component vector of float)
|
||||
0:41 Construct vec2 ( temp 2-element array of highp 2-component vector of float)
|
||||
0:41 Construct vec2 ( specialization-constant const highp 2-component vector of float)
|
||||
0:41 'scf1' ( specialization-constant const highp float)
|
||||
0:41 1.000000
|
||||
0:41 'scf1' ( specialization-constant const highp float)
|
||||
0:41 1.000000
|
||||
0:41 Construct vec2 ( specialization-constant const 2-component vector of float)
|
||||
0:41 Construct vec2 ( specialization-constant const highp 2-component vector of float)
|
||||
0:41 'scf1' ( specialization-constant const highp float)
|
||||
0:41 1.000000
|
||||
0:41 'scf1' ( specialization-constant const highp float)
|
||||
@ -150,10 +150,10 @@ Shader version: 450
|
||||
0:14 Convert bool to float ( temp float)
|
||||
0:14 'scbt' ( specialization-constant const bool)
|
||||
0:14 true (const bool)
|
||||
0:15 Convert int to float ( temp float)
|
||||
0:15 Convert int to float ( temp highp float)
|
||||
0:15 'sci2' ( specialization-constant const highp int)
|
||||
0:15 2 (const int)
|
||||
0:17 Convert float to int ( temp int)
|
||||
0:17 Convert float to int ( temp highp int)
|
||||
0:17 'scf1' ( specialization-constant const highp float)
|
||||
0:17 1.000000
|
||||
0:18 Convert bool to int ( specialization-constant const int)
|
||||
@ -217,34 +217,34 @@ Shader version: 450
|
||||
0:35 2 (const int)
|
||||
0:35 'sci2' ( specialization-constant const highp int)
|
||||
0:35 2 (const int)
|
||||
0:37 Construct ivec2 ( specialization-constant const 2-component vector of int)
|
||||
0:37 Construct ivec2 ( specialization-constant const highp 2-component vector of int)
|
||||
0:37 'sci2' ( specialization-constant const highp int)
|
||||
0:37 2 (const int)
|
||||
0:37 'sci2' ( specialization-constant const highp int)
|
||||
0:37 2 (const int)
|
||||
0:38 Construct ivec2 ( temp 2-element array of 2-component vector of int)
|
||||
0:38 Construct ivec2 ( specialization-constant const 2-component vector of int)
|
||||
0:38 Construct ivec2 ( temp 2-element array of highp 2-component vector of int)
|
||||
0:38 Construct ivec2 ( specialization-constant const highp 2-component vector of int)
|
||||
0:38 'sci2' ( specialization-constant const highp int)
|
||||
0:38 2 (const int)
|
||||
0:38 'sci2' ( specialization-constant const highp int)
|
||||
0:38 2 (const int)
|
||||
0:38 Construct ivec2 ( specialization-constant const 2-component vector of int)
|
||||
0:38 Construct ivec2 ( specialization-constant const highp 2-component vector of int)
|
||||
0:38 'sci2' ( specialization-constant const highp int)
|
||||
0:38 2 (const int)
|
||||
0:38 'sci2' ( specialization-constant const highp int)
|
||||
0:38 2 (const int)
|
||||
0:40 Construct vec2 ( specialization-constant const 2-component vector of float)
|
||||
0:40 Construct vec2 ( specialization-constant const highp 2-component vector of float)
|
||||
0:40 'scf1' ( specialization-constant const highp float)
|
||||
0:40 1.000000
|
||||
0:40 'scf1' ( specialization-constant const highp float)
|
||||
0:40 1.000000
|
||||
0:41 Construct vec2 ( temp 2-element array of 2-component vector of float)
|
||||
0:41 Construct vec2 ( specialization-constant const 2-component vector of float)
|
||||
0:41 Construct vec2 ( temp 2-element array of highp 2-component vector of float)
|
||||
0:41 Construct vec2 ( specialization-constant const highp 2-component vector of float)
|
||||
0:41 'scf1' ( specialization-constant const highp float)
|
||||
0:41 1.000000
|
||||
0:41 'scf1' ( specialization-constant const highp float)
|
||||
0:41 1.000000
|
||||
0:41 Construct vec2 ( specialization-constant const 2-component vector of float)
|
||||
0:41 Construct vec2 ( specialization-constant const highp 2-component vector of float)
|
||||
0:41 'scf1' ( specialization-constant const highp float)
|
||||
0:41 1.000000
|
||||
0:41 'scf1' ( specialization-constant const highp float)
|
||||
|
@ -24,37 +24,38 @@ ERROR: 0:39: 'push_constant' : can only be used with a uniform
|
||||
ERROR: 0:43: 'non-opaque uniforms outside a block' : not allowed when using GLSL for Vulkan
|
||||
ERROR: 0:43: 'push_constant' : can only be used with a block
|
||||
ERROR: 0:45: 'push_constant' : cannot declare a default, can only be used on a block
|
||||
ERROR: 0:51: 'binding' : sampler/texture/image requires layout(binding=X)
|
||||
ERROR: 0:52: 'binding' : sampler/texture/image requires layout(binding=X)
|
||||
ERROR: 0:52: 'input_attachment_index' : can only be used with a subpass
|
||||
ERROR: 0:53: 'binding' : sampler/texture/image requires layout(binding=X)
|
||||
ERROR: 0:53: 'input_attachment_index' : can only be used with a subpass
|
||||
ERROR: 0:46: 'binding' : cannot be used with push_constant
|
||||
ERROR: 0:54: 'binding' : sampler/texture/image requires layout(binding=X)
|
||||
ERROR: 0:54: 'subpass' : requires an input_attachment_index layout qualifier
|
||||
ERROR: 0:55: 'binding' : sampler/texture/image requires layout(binding=X)
|
||||
ERROR: 0:60: 'subpassLoadMS' : no matching overloaded function found
|
||||
ERROR: 0:61: 'subpassLoad' : no matching overloaded function found
|
||||
ERROR: 0:55: 'input_attachment_index' : can only be used with a subpass
|
||||
ERROR: 0:56: 'binding' : sampler/texture/image requires layout(binding=X)
|
||||
ERROR: 0:56: 'input_attachment_index' : can only be used with a subpass
|
||||
ERROR: 0:57: 'binding' : sampler/texture/image requires layout(binding=X)
|
||||
ERROR: 0:57: 'subpass' : requires an input_attachment_index layout qualifier
|
||||
ERROR: 0:58: 'binding' : sampler/texture/image requires layout(binding=X)
|
||||
ERROR: 0:63: 'subpassLoadMS' : no matching overloaded function found
|
||||
ERROR: 0:66: 'subroutine' : not allowed when generating SPIR-V
|
||||
ERROR: 0:66: 'subroutine' : feature not yet implemented
|
||||
ERROR: 0:67: 'subroutine' : not allowed when generating SPIR-V
|
||||
ERROR: 0:67: 'subroutine' : feature not yet implemented
|
||||
ERROR: 0:69: 'non-opaque uniforms outside a block' : not allowed when using GLSL for Vulkan
|
||||
ERROR: 0:73: 'texture' : no matching overloaded function found
|
||||
ERROR: 0:74: 'imageStore' : no matching overloaded function found
|
||||
WARNING: 0:82: '' : all default precisions are highp; use precision statements to quiet warning, e.g.:
|
||||
ERROR: 0:64: 'subpassLoad' : no matching overloaded function found
|
||||
ERROR: 0:66: 'subpassLoadMS' : no matching overloaded function found
|
||||
ERROR: 0:69: 'subroutine' : not allowed when generating SPIR-V
|
||||
ERROR: 0:69: 'subroutine' : feature not yet implemented
|
||||
ERROR: 0:70: 'subroutine' : not allowed when generating SPIR-V
|
||||
ERROR: 0:70: 'subroutine' : feature not yet implemented
|
||||
ERROR: 0:72: 'non-opaque uniforms outside a block' : not allowed when using GLSL for Vulkan
|
||||
ERROR: 0:76: 'texture' : no matching overloaded function found
|
||||
ERROR: 0:77: 'imageStore' : no matching overloaded function found
|
||||
WARNING: 0:85: '' : all default precisions are highp; use precision statements to quiet warning, e.g.:
|
||||
"precision mediump int; precision highp float;"
|
||||
ERROR: 0:91: 'call argument' : sampler constructor must appear at point of use
|
||||
ERROR: 0:92: 'call argument' : sampler constructor must appear at point of use
|
||||
ERROR: 0:93: ',' : sampler constructor must appear at point of use
|
||||
ERROR: 0:94: ':' : wrong operand types: no operation ':' exists that takes a left-hand operand of type ' temp sampler2D' and a right operand of type ' temp sampler2D' (or there is no acceptable conversion)
|
||||
ERROR: 0:94: 'call argument' : sampler constructor must appear at point of use
|
||||
ERROR: 0:96: 'gl_NumSamples' : undeclared identifier
|
||||
ERROR: 0:101: 'noise1' : no matching overloaded function found
|
||||
ERROR: 0:102: 'noise2' : no matching overloaded function found
|
||||
ERROR: 0:103: 'noise3' : no matching overloaded function found
|
||||
ERROR: 0:104: 'noise4' : no matching overloaded function found
|
||||
ERROR: 53 compilation errors. No code generated.
|
||||
ERROR: 0:95: 'call argument' : sampler constructor must appear at point of use
|
||||
ERROR: 0:96: ',' : sampler constructor must appear at point of use
|
||||
ERROR: 0:97: ':' : wrong operand types: no operation ':' exists that takes a left-hand operand of type ' temp sampler2D' and a right operand of type ' temp sampler2D' (or there is no acceptable conversion)
|
||||
ERROR: 0:97: 'call argument' : sampler constructor must appear at point of use
|
||||
ERROR: 0:99: 'gl_NumSamples' : undeclared identifier
|
||||
ERROR: 0:104: 'noise1' : no matching overloaded function found
|
||||
ERROR: 0:105: 'noise2' : no matching overloaded function found
|
||||
ERROR: 0:106: 'noise3' : no matching overloaded function found
|
||||
ERROR: 0:107: 'noise4' : no matching overloaded function found
|
||||
ERROR: 54 compilation errors. No code generated.
|
||||
|
||||
|
||||
ERROR: Linking fragment stage: Only one push_constant block is allowed per stage
|
||||
|
@ -13,11 +13,18 @@ const uint32_t uint32_t_init = uint32_t(3);
|
||||
const uint64_t uint64_t_init = uint64_t(4);
|
||||
const float16_t float16_t_init = float16_t(42.0);
|
||||
const float32_t float32_t_init = float32_t(13.0);
|
||||
const float64_t float64_t_init = float64_t(-4.0);
|
||||
const float64_t float64_t_init = float64_t(4.0);
|
||||
|
||||
const float16_t neg_float16_t_init = float16_t(-42.0);
|
||||
const float32_t neg_float32_t_init = float32_t(-13.0);
|
||||
const float64_t neg_float64_t_init = float64_t(-4.0);
|
||||
|
||||
#define TYPE_TO_TYPE(x, y) \
|
||||
const x y##_to_##x = x(y##_init)
|
||||
|
||||
#define TYPE_TO_TYPE_PREFIX(prefix, x, y) \
|
||||
const x prefix##_##y##_to_##x = x(prefix##_##y##_init)
|
||||
|
||||
#define TYPE_TO(x) \
|
||||
TYPE_TO_TYPE(x, bool); \
|
||||
TYPE_TO_TYPE(x, int8_t); \
|
||||
@ -45,4 +52,18 @@ TYPE_TO(float16_t);
|
||||
TYPE_TO(float32_t);
|
||||
TYPE_TO(float64_t);
|
||||
|
||||
#define NEG_FLOAT_TO(x) \
|
||||
TYPE_TO_TYPE_PREFIX(neg, x, float16_t); \
|
||||
TYPE_TO_TYPE_PREFIX(neg, x, float32_t); \
|
||||
TYPE_TO_TYPE_PREFIX(neg, x, float64_t)
|
||||
|
||||
NEG_FLOAT_TO(bool);
|
||||
NEG_FLOAT_TO(int8_t);
|
||||
NEG_FLOAT_TO(int16_t);
|
||||
NEG_FLOAT_TO(int32_t);
|
||||
NEG_FLOAT_TO(int64_t);
|
||||
NEG_FLOAT_TO(float16_t);
|
||||
NEG_FLOAT_TO(float32_t);
|
||||
NEG_FLOAT_TO(float64_t);
|
||||
|
||||
void main() {}
|
||||
|
10
Test/hlsl.structbuffer.rwbyte2.comp
Normal file
10
Test/hlsl.structbuffer.rwbyte2.comp
Normal file
@ -0,0 +1,10 @@
|
||||
RWStructuredBuffer<uint> g_sbuf;
|
||||
RWByteAddressBuffer g_bbuf;
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
uint f = g_bbuf.Load(16);
|
||||
g_sbuf[0] = f;
|
||||
}
|
||||
|
12
Test/hlsl.w-recip.frag
Normal file
12
Test/hlsl.w-recip.frag
Normal file
@ -0,0 +1,12 @@
|
||||
float4 AmbientColor = float4(1, 0.5, 0, 1);
|
||||
float4 AmbientColor2 = float4(0.5, 1, 0, 0);
|
||||
|
||||
float4 main(float4 vpos : SV_POSITION) : SV_TARGET
|
||||
{
|
||||
float4 vpos_t = float4(vpos.xyz, 1 / vpos.w);
|
||||
if (vpos_t.x < 400)
|
||||
return AmbientColor;
|
||||
else
|
||||
return AmbientColor2;
|
||||
}
|
||||
|
14
Test/iomap.blockOutVariableIn.2.vert
Normal file
14
Test/iomap.blockOutVariableIn.2.vert
Normal file
@ -0,0 +1,14 @@
|
||||
#version 440
|
||||
|
||||
layout(location = 0) out Block
|
||||
{
|
||||
vec4 a1;
|
||||
vec2 a2;
|
||||
};
|
||||
|
||||
void main()
|
||||
{
|
||||
a1 = vec4(1.0);
|
||||
a2 = vec2(0.5);
|
||||
gl_Position = vec4(1.0);
|
||||
}
|
11
Test/iomap.blockOutVariableIn.frag
Normal file
11
Test/iomap.blockOutVariableIn.frag
Normal file
@ -0,0 +1,11 @@
|
||||
#version 440
|
||||
|
||||
layout(location = 0) in vec4 a1;
|
||||
layout(location = 1) in vec2 a2;
|
||||
|
||||
layout(location = 0) out vec4 color;
|
||||
|
||||
void main()
|
||||
{
|
||||
color = vec4(a1.xy, a2);
|
||||
}
|
28
Test/iomap.blockOutVariableIn.geom
Normal file
28
Test/iomap.blockOutVariableIn.geom
Normal file
@ -0,0 +1,28 @@
|
||||
#version 440
|
||||
|
||||
layout(triangles) in;
|
||||
layout(triangle_strip, max_vertices=3) out;
|
||||
|
||||
layout(location = 0) in vec4 in_a1[3];
|
||||
layout(location = 1) in vec2 in_a2[3];
|
||||
|
||||
layout(location = 0) out vec4 a1;
|
||||
layout(location = 1) out vec2 a2;
|
||||
|
||||
void main()
|
||||
{
|
||||
a1 = in_a1[0];
|
||||
a2 = in_a2[0];
|
||||
gl_Position = vec4(1.0);
|
||||
EmitVertex();
|
||||
|
||||
a1 = in_a1[1];
|
||||
a2 = in_a2[1];
|
||||
gl_Position = vec4(1.0);
|
||||
EmitVertex();
|
||||
|
||||
a1 = in_a1[2];
|
||||
a2 = in_a2[2];
|
||||
gl_Position = vec4(1.0);
|
||||
EmitVertex();
|
||||
}
|
14
Test/iomap.blockOutVariableIn.vert
Normal file
14
Test/iomap.blockOutVariableIn.vert
Normal file
@ -0,0 +1,14 @@
|
||||
#version 440
|
||||
|
||||
layout(location = 0) out Block
|
||||
{
|
||||
vec4 a1;
|
||||
vec2 a2;
|
||||
};
|
||||
|
||||
void main()
|
||||
{
|
||||
a1 = vec4(1.0);
|
||||
a2 = vec2(0.5);
|
||||
gl_Position = vec4(1.0);
|
||||
}
|
11
Test/iomap.variableOutBlockIn.2.vert
Normal file
11
Test/iomap.variableOutBlockIn.2.vert
Normal file
@ -0,0 +1,11 @@
|
||||
#version 440
|
||||
|
||||
layout(location = 0) out vec4 a1;
|
||||
layout(location = 1) out vec2 a2;
|
||||
|
||||
void main()
|
||||
{
|
||||
a1 = vec4(1.0);
|
||||
a2 = vec2(0.5);
|
||||
gl_Position = vec4(1.0);
|
||||
}
|
13
Test/iomap.variableOutBlockIn.frag
Normal file
13
Test/iomap.variableOutBlockIn.frag
Normal file
@ -0,0 +1,13 @@
|
||||
#version 440
|
||||
|
||||
layout(location = 0) in Inputs {
|
||||
vec4 a1;
|
||||
vec2 a2;
|
||||
};
|
||||
|
||||
layout(location = 0) out vec4 color;
|
||||
|
||||
void main()
|
||||
{
|
||||
color = vec4(a1.xy, a2);
|
||||
}
|
19
Test/iomap.variableOutBlockIn.geom
Normal file
19
Test/iomap.variableOutBlockIn.geom
Normal file
@ -0,0 +1,19 @@
|
||||
#version 440
|
||||
|
||||
layout(triangles) in;
|
||||
layout(triangle_strip, max_vertices=3) out;
|
||||
|
||||
layout(location = 0) in Inputs {
|
||||
vec4 a1;
|
||||
vec2 a2;
|
||||
} gin[3];
|
||||
|
||||
layout(location = 0) out vec4 a1;
|
||||
layout(location = 1) out vec2 a2;
|
||||
|
||||
void main()
|
||||
{
|
||||
a1 = vec4(1.0);
|
||||
a2 = vec2(0.5);
|
||||
gl_Position = vec4(1.0);
|
||||
}
|
11
Test/iomap.variableOutBlockIn.vert
Normal file
11
Test/iomap.variableOutBlockIn.vert
Normal file
@ -0,0 +1,11 @@
|
||||
#version 440
|
||||
|
||||
layout(location = 0) out vec4 a1;
|
||||
layout(location = 1) out vec2 a2;
|
||||
|
||||
void main()
|
||||
{
|
||||
a1 = vec4(1.0);
|
||||
a2 = vec2(0.5);
|
||||
gl_Position = vec4(1.0);
|
||||
}
|
23
Test/link.redeclareBuiltin.geom
Normal file
23
Test/link.redeclareBuiltin.geom
Normal file
@ -0,0 +1,23 @@
|
||||
#version 410
|
||||
|
||||
layout(triangles) in;
|
||||
layout(triangle_strip, max_vertices=3) out;
|
||||
|
||||
in gl_PerVertex
|
||||
{
|
||||
vec4 gl_Position;
|
||||
} gl_in[];
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = gl_in[0].gl_Position;
|
||||
EmitVertex();
|
||||
|
||||
gl_Position = gl_in[1].gl_Position;
|
||||
EmitVertex();
|
||||
|
||||
gl_Position = gl_in[2].gl_Position;
|
||||
EmitVertex();
|
||||
|
||||
EndPrimitive();
|
||||
}
|
11
Test/link.redeclareBuiltin.vert
Normal file
11
Test/link.redeclareBuiltin.vert
Normal file
@ -0,0 +1,11 @@
|
||||
#version 410
|
||||
|
||||
out gl_PerVertex
|
||||
{
|
||||
vec4 gl_Position;
|
||||
};
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = vec4(1.0);
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user