-
Notifications
You must be signed in to change notification settings - Fork 823
Add new sample for VK_EXT_descriptor_heap #1493
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
SaschaWillems
wants to merge
38
commits into
KhronosGroup:main
Choose a base branch
from
SaschaWillems:sample_descriptor_heap
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
38 commits
Select commit
Hold shift + click to select a range
6a0cffc
Add sample for descriptor heaps
SaschaWillems 4ed5049
First working version
SaschaWillems 4f66dc2
Trying to fix clang format
SaschaWillems d726cc9
Clang format
SaschaWillems 9b2037d
Add Slang and HLSL shaders
SaschaWillems a1c12a8
No longer pre-record command buffers
SaschaWillems 442cb08
Cleanup
SaschaWillems 930db39
Cleanup
SaschaWillems 8ec3157
UBOs per Frame
SaschaWillems 47886be
Add precompiled SPIR-V
SaschaWillems df7bfb1
Override render pass / framebuffer creation
SaschaWillems 02e62e7
Slight restructuring
SaschaWillems e5b7ef0
Slight restructuring
SaschaWillems eb12d9a
Clang format
SaschaWillems f733978
Cleanup
SaschaWillems 50b4a96
Remove extension not required
SaschaWillems 96e4d84
Merge remote-tracking branch 'upstream/main' into sample_descriptor_heap
SaschaWillems bc15c70
Reserved range offsets
SaschaWillems 0579063
Variable naming
SaschaWillems 20b95f0
Minor fixes
SaschaWillems 422583b
Adjust offset and size calculations
SaschaWillems 49400eb
Add tutorial for descriptor heap sample
SaschaWillems cfd21db
Add compiled shaders
SaschaWillems ff3f59d
Add new sample to navigation
SaschaWillems 14e7fe5
Clean up, push data documentation
SaschaWillems 3d29c19
Fix clang format
SaschaWillems b345cf4
Variable naming
SaschaWillems 2ae165b
Spelling and grammar
SaschaWillems 2e7cfda
Add comparison to traditional descriptor bindings
SaschaWillems f985bba
Minor fix
SaschaWillems daa8c32
Add some key benefits of descriptor heaps
SaschaWillems cad116c
Address PR feedback
SaschaWillems be319a6
Adjust heap size calculations
SaschaWillems 3124ad6
Address PR feedback
SaschaWillems 0c71320
Add and use non-const memory access
SaschaWillems 0efca93
Use non-uniform indexing to access textures
SaschaWillems eca7cb7
Merge remote-tracking branch 'upstream/main' into sample_descriptor_heap
SaschaWillems 4eeaa5e
Add note on where to find other binding mapping options
SaschaWillems File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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,36 @@ | ||
| # Copyright (c) 2026 Sascha Willems | ||
| # | ||
| # SPDX-License-Identifier: Apache-2.0 | ||
| # | ||
| # Licensed under the Apache License, Version 2.0 the "License"; | ||
| # you may not use this file except in compliance with the License. | ||
| # You may obtain a copy of the License at | ||
| # | ||
| # http://www.apache.org/licenses/LICENSE-2.0 | ||
| # | ||
| # Unless required by applicable law or agreed to in writing, software | ||
| # distributed under the License is distributed on an "AS IS" BASIS, | ||
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| # See the License for the specific language governing permissions and | ||
| # limitations under the License. | ||
| # | ||
|
|
||
| get_filename_component(FOLDER_NAME ${CMAKE_CURRENT_LIST_DIR} NAME) | ||
| get_filename_component(PARENT_DIR ${CMAKE_CURRENT_LIST_DIR} PATH) | ||
| get_filename_component(CATEGORY_NAME ${PARENT_DIR} NAME) | ||
|
|
||
| add_sample( | ||
| ID ${FOLDER_NAME} | ||
| CATEGORY ${CATEGORY_NAME} | ||
| AUTHOR "Sascha Willems" | ||
| NAME "Descriptor Heap" | ||
| DESCRIPTION "Demonstrates the descriptor heap extension to streamline descriptor setup" | ||
| SHADER_FILES_GLSL | ||
| "descriptor_heap/glsl/cube.vert" | ||
| "descriptor_heap/glsl/cube.frag" | ||
| SHADER_FILES_HLSL | ||
| "descriptor_heap/hlsl/cube.vert.hlsl" | ||
| "descriptor_heap/hlsl/cube.frag.hlsl" | ||
| SHADER_FILES_SLANG | ||
| "descriptor_heap/slang/cube.vert.slang" | ||
| "descriptor_heap/slang/cube.frag.slang") |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A function returning a non-const pointer should not be
const.Moreover, it's hard to see the difference to
get_data(), just by looking at the name.Maybe you could change
get_data()touint8_t const * get_const_data() const;and change the new function touint8_t * get_data();?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If okay, I'd do that after this PR has been merged. Don't want to defer this any further.