Blender V4.3
blender::gpu::VKWorkarounds Struct Reference

#include <vk_device.hh>

Public Attributes

bool not_aligned_pixel_formats = false
 
bool shader_output_viewport_index = false
 
bool shader_output_layer = false
 
struct { 
 
   bool   r8g8b8 = false 
 
vertex_formats 
 
bool fragment_shader_barycentric = false
 
bool dynamic_rendering_unused_attachments = false
 

Detailed Description

Definition at line 28 of file vk_device.hh.

Member Data Documentation

◆ dynamic_rendering_unused_attachments

bool blender::gpu::VKWorkarounds::dynamic_rendering_unused_attachments = false

Is the workarounds for devices that don't support VK_EXT_dynamic_rendering_unused_attachments enabled.

Definition at line 68 of file vk_device.hh.

Referenced by blender::gpu::VKFrameBuffer::rendering_ensure().

◆ fragment_shader_barycentric

bool blender::gpu::VKWorkarounds::fragment_shader_barycentric = false

Is the workaround for devices that don't support #VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR::fragmentShaderBarycentric enabled. If set to true, the backend would inject a geometry shader to produce barycentric coordinates.

Definition at line 62 of file vk_device.hh.

Referenced by blender::gpu::VKShader::fragment_interface_declare(), and blender::gpu::VKDevice::init_glsl_patch().

◆ not_aligned_pixel_formats

bool blender::gpu::VKWorkarounds::not_aligned_pixel_formats = false

Some devices don't support pixel formats that are aligned to 24 and 48 bits. In this case we need to use a different texture format.

If set to true we should work around this issue by using a different texture format.

Definition at line 35 of file vk_device.hh.

Referenced by blender::gpu::VKTexture::init_internal().

◆ r8g8b8

bool blender::gpu::VKWorkarounds::r8g8b8 = false

Is the workaround enabled for devices that don't support using VK_FORMAT_R8G8B8_* as vertex buffer.

Definition at line 54 of file vk_device.hh.

Referenced by blender::gpu::tests::TEST(), and blender::gpu::tests::TEST().

◆ shader_output_layer

bool blender::gpu::VKWorkarounds::shader_output_layer = false

Is the workaround for devices that don't support #VkPhysicalDeviceVulkan12Features::shaderOutputLayer enabled.

Definition at line 47 of file vk_device.hh.

Referenced by blender::gpu::VKShader::fragment_interface_declare(), blender::gpu::VKDevice::init_glsl_patch(), and blender::gpu::VKShader::vertex_interface_declare().

◆ shader_output_viewport_index

bool blender::gpu::VKWorkarounds::shader_output_viewport_index = false

Is the workaround for devices that don't support #VkPhysicalDeviceVulkan12Features::shaderOutputViewportIndex enabled.

Definition at line 41 of file vk_device.hh.

Referenced by blender::gpu::VKShader::fragment_interface_declare(), blender::gpu::VKDevice::init_glsl_patch(), and blender::gpu::VKShader::vertex_interface_declare().

◆ [struct]

struct { ... } blender::gpu::VKWorkarounds::vertex_formats

The documentation for this struct was generated from the following file: