Skip to content
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

Vk ext shader object optional layer #780

Open
wants to merge 21 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
89d6fe8
Add VK_EXT_shader_object sample
Apr 17, 2023
c76194e
add an ability to have optional vulkan layers. If it's an optional l…
gpx1000 Aug 17, 2023
2b0356d
Merge remote-tracking branch 'upstream/main'
gpx1000 Aug 17, 2023
53482ab
Merge branch 'main' into VK_EXT_shader_object_optional_layer
gpx1000 Aug 17, 2023
a86f7d2
fix the formatting and copyright breaks.
gpx1000 Aug 17, 2023
fb01dcf
get full_screen_exclusive to build.
gpx1000 Aug 17, 2023
33bdc15
clang format locally wants it formatted differently than CI.
gpx1000 Aug 17, 2023
ad8e78c
if there's an error in clang-format then save off the diff output so …
gpx1000 Aug 17, 2023
9290b5f
attempt to fix clang-format
gpx1000 Aug 17, 2023
d1cb82d
Merge remote-tracking branch 'refs/remotes/upstream/main' into VK_EXT…
gpx1000 May 16, 2024
892f289
Refactor validation layers to use vector instead of map
gpx1000 May 16, 2024
48d8b14
revert the change in check.yml
gpx1000 May 16, 2024
e92bdb0
fix the copyright and formating and doxygen problems.
gpx1000 May 16, 2024
3b73db8
revert vulkan and volk submodule changes.
gpx1000 May 17, 2024
d2b132c
clang format
gpx1000 May 17, 2024
27e35ba
update the clang-format
gpx1000 May 17, 2024
709d7de
revert full_screen_exclusive.cpp and hello_triangle.cpp
gpx1000 May 17, 2024
898da21
Merge branch 'main' into VK_EXT_shader_object_optional_layer
gpx1000 Dec 18, 2024
e7e78b1
Refactor layer validation handling for consistency.
gpx1000 Dec 21, 2024
1579864
Fix inconsistent indentation and formatting across files
gpx1000 Dec 21, 2024
90802bf
Add get_validation_layers() method and formatting adjustment
gpx1000 Dec 21, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Add VK_EXT_shader_object sample
  • Loading branch information
Coleman Jonas authored and daniel-story committed Aug 15, 2023
commit 89d6fe89535de0288a473c4c591baa2521fec657
1 change: 1 addition & 0 deletions .copyrightignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
.ttf
.github
.jar
.json
doxyfile
download_vvl.gradle
build.gradle.in
Expand Down
1 change: 1 addition & 0 deletions samples/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ set(ORDER_LIST
"ray_tracing_extended"
"ray_tracing_reflection"
"timeline_semaphore"
"shader_object"
"synchronization_2"
"buffer_device_address"
"descriptor_indexing"
Expand Down
6 changes: 6 additions & 0 deletions samples/README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -474,6 +474,12 @@ Demonstrate how to create multiple color blend attachments and then toggle them

*Extension:* https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_EXT_mesh_shader.html[`VK_EXT_mesh_shader`] + Demonstrates how a mesh shader can be used to achieve the same results as with geometry shader, it loads model from a file and visualizes its normals.

=== link:./extensions/shader_object[Shader object]

*Extension:* https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_EXT_shader_object.html[`VK_EXT_shader_object`]

Demonstrate how to use shader objects.

== Tooling Samples

The goal of these samples is to demonstrate usage of tooling functions and libraries that are not directly part of the api.
Expand Down
57 changes: 57 additions & 0 deletions samples/extensions/shader_object/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Copyright 2023 Nintendo
#
# 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 "Nintendo"
NAME "Shader Object"
DESCRIPTION "Demonstrates how to use VK_EXT_shader_object."
SHADER_FILES_GLSL
"shader_object/basic_normals.frag"
"shader_object/basic_normals.vert"
"shader_object/basic_n_dot_l.frag"
"shader_object/basic_n_dot_l.vert"
"shader_object/basic_pos.frag"
"shader_object/basic_pos.vert"
"shader_object/basic_uv.frag"
"shader_object/basic_uv.vert"
"shader_object/skybox.frag"
"shader_object/skybox.vert"
"shader_object/terrain.frag"
"shader_object/terrain.vert"
"shader_object/material_gen_normals.geo"
"shader_object/material_normals.frag"
"shader_object/material_n_dot_l.frag"
"shader_object/material_pass_sin_offset.geo"
"shader_object/material_pass_through.geo"
"shader_object/material_reflective.frag"
"shader_object/material_rotates.vert"
"shader_object/material_scene.frag"
"shader_object/material_scene.vert"
"shader_object/material_texture.frag"
"shader_object/material_wave_x.vert"
"shader_object/material_wave_y.vert"
"shader_object/material_wave_z.vert"
"shader_object/post_process_brighten.frag"
"shader_object/post_process_color_cycle.frag"
"shader_object/post_process_edge_detection.frag"
"shader_object/post_process_FSQ.vert"
"shader_object/post_process_grayscale.frag"
"shader_object/post_process_invert.frag"
"shader_object/post_process_quantize.frag")
Loading