-
Notifications
You must be signed in to change notification settings - Fork 116
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Continuations] Add helper commonMaterializable() [Continuations] Add one extra SROA [Continuations] Add PostProcessing test. [Continuations] Check that resume functions report no stack usage [Continuations] Cleanup includes. [Continuations] Fix corruption seen in RaytracingReflections [Continuations] Fix first payload argument dword calculation [Continuations] Fix outgoing register count for kernelentry [Continuations] Get DispatchSystemData type from GetLocalRootIndex. [Continuations] Handle gpurt GetSetting [Continuations] Ignore life time markers when doing store-to-load forwarding [Continuations] Keep _AmdAcceptHitAttributes calls [Continuations] Lower _GetResumePoint correctly [Continuations] Move stackptr lowering [Continuations] Promote _AmdAwait arguments correctly [Continuations] Refactor RT shader stage enum [Continuations] Rematerialize single source shuffle [Continuations] Remove old unused helper [Continuations] Remove use of [[no_unique_address]] [Continuations] Set up proper register count for Traversal [Continuations] Spill in PayloadCopyHelper [Continuations] Support TriangleVertexPositions in continuations [Continuations] Update test to reduce diff [Continuations] Use int as name for gpurt settings [Continuations] Use llvmraytracing in more places [RT] Set the entry name as modulename Add 'override' to SPIRVBaseVariable::validate() Add AmdExtD3DShaderIntrinsics_ShaderMarker Add DbgInfo api to ModuleBunch Add detecting more patterns which can be lowered into fmul_legacy and fma_legacy Add dynamicVgprBlockSize option Add GpurtVersionFlags Add Phoenix2 support Add ShaderModuleUsage::usePrimitiveId Apply WQM to result of WWM subgroup operations Clean GEP formation for NGG atomic add Cleanup the old PAL metadata code path CrossModuleInliner: add check for consistent target module CrossModuleInliner: make struct layout independent of NDEBUG DataLayout index sizes for SPIRV address spaces Detect read-only buffers and mark them as invariant Expand GEP compatibility in tests Handle new return type for some IRBuilder methods Handle new return type from DIBuilder lgc: add strided buffer load lgc: correct stage detection for subgroup builder lgc: missing code for load.strided.buffer.desc lgc: Add LoadBufferAddrOp lgc: Allow hoisting common instructions lgc: Disassemble archive-of-ELFs lgc: move CreateDebugBreak to BuilderCommon lgc: Set flat workgroup size for cs_chain lgc: Unbreak dxcp build LowerRayTracingPipeline: Avoid redundant GEPs Move replaceAllPointerUses into CompilerUtils Pack mesh shader outputs in LDS space Reduce SW XFB LDS usage Refine advanced blend func with value-type arguments Refine dump info for shader module id Refine pipeline dump when shader module identifier is used Remove checks for gfxip >= 10 Remove LDS granularity rounding Remove ShaderModuleUsage::useGenericBuiltIn Remove the accidentally-added file for *.pipe.swp Report new RequireFullPipeline error Return frozen poison value in _AmdGetUninitialized Return the state whether the texture is accessed by texelFetch function Set MaxOutgoingVgprCount into SGPR and pass it Simplify LDS GEP formation Some renaming in mesh shader Support uint64 AmdTraceRaySampleGpuTimer() TargetFeatures for amdgpu_cs_chain_preserve funcs Update llvm-dialects submodule Use 32-bit GEPs consistently Use CmpInst::Create instead of new to create instruction Use convertUsersOfConstantsToInstruction throughout VertexFetch: vertex offset is added twice in vertex offset mode Fix check_llpc test regression Fix color export offline compilation Fix compiler warnings Fix error on unused private field Fix ShaderDbg issues Fix the check for reserving a dummy vertex attribute Fix unusual case imported by new game:STARFIELD Fix updating threshold issue when merge with pipeline cache which cause PAL assert
- Loading branch information
Showing
284 changed files
with
20,281 additions
and
96,141 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
## | ||
####################################################################################################################### | ||
# | ||
# Copyright (c) 2024 Advanced Micro Devices, Inc. All Rights Reserved. | ||
# | ||
# Permission is hereby granted, free of charge, to any person obtaining a copy | ||
# of this software and associated documentation files (the "Software"), to | ||
# deal in the Software without restriction, including without limitation the | ||
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or | ||
# sell copies of the Software, and to permit persons to whom the Software is | ||
# furnished to do so, subject to the following conditions: | ||
# | ||
# The above copyright notice and this permission notice shall be included in all | ||
# copies or substantial portions of the Software. | ||
# | ||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | ||
# IN THE SOFTWARE. | ||
# | ||
####################################################################################################################### | ||
|
||
add_library(gfxruntime) | ||
|
||
# Locate python binary | ||
# No particular version of python3 is necessary | ||
find_package(Python3 | ||
# Disable information messages | ||
QUIET | ||
# Python3 is required to run the shader compile script | ||
REQUIRED | ||
# Only the interpreter is required, we don't need the Compiler, Development, or NumPy | ||
COMPONENTS Interpreter | ||
) | ||
|
||
# Locate dxc binary. | ||
if (CMAKE_HOST_SYSTEM_NAME MATCHES "Linux") | ||
find_program(DXC_PATH dxc) | ||
if ("${DXC_PATH}" STREQUAL "DXC_PATH-NOTFOUND") | ||
message(FATAL_ERROR "Could not find shader compiler tool dxc.") | ||
endif() | ||
#if _WIN32 | ||
elseif(WIN32) | ||
set(DXC_PATH "$ENV{DK_ROOT}/DirectXShaderCompiler/8c9d92b/bin") | ||
if (NOT EXISTS "${DXC_PATH}") | ||
message(FATAL_ERROR "Unable to find DirectXShaderCompiler directory: ${DXC_PATH}") | ||
endif() | ||
#endif | ||
endif() | ||
|
||
set(CMAKE_CURRENT_SOURCE_DIR ${PROJECT_SOURCE_DIR}/gfxruntime) | ||
set(CMAKE_CURRENT_BINARY_DIR ${PROJECT_BINARY_DIR}/gfxruntime) | ||
|
||
### Auto-generated advanced blend runtime library for graphics shaders ################################################# | ||
set(GEN_ADVANCED_BLEND_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/tools/CompileAdvancedBlendShader.py") | ||
set(ADVANCED_BLEND_INPUT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/src/shaders/AdvancedBlend.hlsl") | ||
set(ADVANCED_BLEND_OUT_FILE "${CMAKE_CURRENT_BINARY_DIR}/g_AdvancedBlendLibrary_spv.h") | ||
add_custom_command( | ||
OUTPUT | ||
${ADVANCED_BLEND_OUT_FILE} | ||
DEPENDS | ||
${ADVANCED_BLEND_INPUT_FILE} | ||
${GEN_ADVANCED_BLEND_SCRIPT} | ||
COMMAND Python3::Interpreter "${GEN_ADVANCED_BLEND_SCRIPT}" | ||
--compilerPath "${DXC_PATH}" | ||
--shaderDir "${CMAKE_CURRENT_SOURCE_DIR}/src/shaders" | ||
--outputDir "${CMAKE_CURRENT_BINARY_DIR}" | ||
COMMENT "Generating advanced blend runtime library" | ||
) | ||
|
||
target_sources(gfxruntime | ||
PRIVATE | ||
${ADVANCED_BLEND_OUT_FILE} | ||
${CMAKE_CURRENT_SOURCE_DIR}/src/GfxRuntimeLibrary.cpp | ||
) | ||
target_include_directories(gfxruntime | ||
PUBLIC | ||
${CMAKE_CURRENT_BINARY_DIR} | ||
${CMAKE_CURRENT_SOURCE_DIR}/include | ||
) | ||
|
||
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") | ||
target_compile_options(gfxruntime PRIVATE -fPIC) | ||
endif() |
Oops, something went wrong.