Listings

Listing 1.1 Creating a Vulkan Instance

Listing 1.2 Querying Physical Device Properties

Listing 1.3 Creating a Logical Device

Listing 1.4 Querying Instance Layers

Listing 1.5 Querying Instance Extensions

Listing 2.1 Declaration of a Memory Allocator Class

Listing 2.2 Implementation of a Memory Allocator Class

Listing 2.3 Creating a Buffer Object

Listing 2.4 Creating an Image Object

Listing 2.5 Choosing a Memory Type for an Image

Listing 3.1 Example of Using vkCmdCopyBuffer()

Listing 4.1 Image Memory Barrier

Listing 4.2 Filling a Buffer with Floating-Point Data

Listing 5.1 Creating a Swap Chain

Listing 5.2 Transitioning an Image to Present Source

Listing 6.1 Simplest Possible GLSL Shader

Listing 6.2 Simplest SPIR-V

Listing 6.3 Local Size Declaration in a Compute Shader (GLSL)

Listing 6.4 Local Size Declaration in a Compute Shader (SPIR-V)

Listing 6.5 Specialization Constants in GLSL

Listing 6.6 Specialization Constants in SPIR-V

Listing 6.7 Saving Pipeline Cache Data to a File

Listing 6.8 Declaring Resources in GLSL

Listing 6.9 Declaring Resources in SPIR-V

Listing 6.10 Creating a Pipeline Layout

Listing 6.11 Declaring Uniform and Shader Blocks in GLSL

Listing 6.12 Declaring Uniform and Shader Blocks in SPIR-V

Listing 6.13 Declaring Texel Buffers in GLSL

Listing 6.14 Declaring Texel Buffers in SPIR-V

Listing 6.15 Declaring Push Constants in GLSL

Listing 6.16 Declaring Push Constants in SPIR-V

Listing 7.1 Creating a Simple Renderpass

Listing 7.2 Creating a Simple Graphics Pipeline

Listing 7.3 Describing Vertex Input Data

Listing 7.4 Declaring Inputs to a Vertex Shader (GLSL)

Listing 7.5 Declaring Inputs to a Vertex Shader (SPIR-V)

Listing 8.1 Separate Vertex Attribute Setup

Listing 8.2 Indexed Cube Data

Listing 8.3 Using the Vertex Index in a Shader

Listing 8.4 Using the Instance Index in a Shader

Listing 8.5 Draw Index Used in a Shader

Listing 9.1 Trivial Tessellation Control Shader (GLSL)

Listing 9.2 Trivial Tessellation Control Shader (SPIR-V)

Listing 9.3 Declaring Outputs in Tessellation Control Shaders (GLSL)

Listing 9.4 Declaring Outputs in Tessellation Control Shaders (SPIR-V)

Listing 9.5 Accessing gl_TessCoord in Evaluation Shader (GLSL)

Listing 9.6 Accessing gl_TessCoord in Evaluation Shader (SPIR-V)

Listing 9.7 Descriptor Setup for Displacement Mapping

Listing 9.8 Vertex Shader for Displacement Mapping

Listing 9.9 Tessellation Control Shader for Displacement Mapping

Listing 9.10 Tessellation Evaluation Shader for Displacement Mapping

Listing 9.11 Tessellation State Creation Information

Listing 9.12 Minimal Geometry Shader (GLSL)

Listing 9.13 Minimal Geometry Shader (SPIR-V)

Listing 9.14 Declaring gl_PerVertex in a GLSL Geometry Shader

Listing 9.15 Reading gl_PerVertex in a SPIR-V Geometry Shader

Listing 9.16 Declaring an Output Block in GLSL

Listing 9.17 Pass-Through GLSL Geometry Shader

Listing 9.18 Pass-Through SPIR-V Geometry Shader

Listing 9.19 Cutting Strips in a Geometry Shader

Listing 9.20 Instanced GLSL Geometry Shader

Listing 9.21 Use of gl_PointSize in GLSL

Listing 9.22 Decorating an Output with PointSize

Listing 9.23 Use of gl_ClipDistance in GLSL

Listing 9.24 Decorating Outputs with ClipDistance

Listing 9.25 Use of gl_CullDistance in GLSL

Listing 9.26 Decorating Outputs with CullDistance

Listing 9.27 Using Multiple Viewports in a Geometry Shader (GLSL)

Listing 10.1 Declaring an Output in a Fragment Shader (GLSL)

Listing 10.2 Declaring an Output in a Fragment Shader (SPIR-V)

Listing 10.3 Several Outputs in a Fragment Shader (GLSL)

Listing 10.4 Several Outputs in a Fragment Shader (SPIR-V)

Listing 11.1 Setup for Four-Fence Synchronization

Listing 11.2 Loop Waiting on Fences for Synchronization

Listing 11.3 Cross-Queue Submission with Semaphores

Listing 12.1 C Structure for All Pipeline Statistics

Listing 12.2 Moving a Buffer to Host-Readable State

Listing 13.1 Deferred Shading Renderpass Setup

Listing 13.2 Translucency and Deferred Shading Setup

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.144.248