This commit is contained in:
parent
d565a250b6
commit
16bdb64ec9
|
|
@ -768,21 +768,18 @@ void BlitImageHelper::ClearDepthStencil(const Framebuffer* dst_framebuffer, bool
|
|||
|
||||
scheduler.Record([pipeline, layout, clear_depth, dst_region, stencil_mask, stencil_ref,
|
||||
stencil_compare_mask, dyn_stencil_compare, dyn_stencil_write,
|
||||
dyn_stencil_ref, this](vk::CommandBuffer cmdbuf) {
|
||||
dyn_stencil_ref](vk::CommandBuffer cmdbuf) {
|
||||
constexpr std::array blend_constants{0.0f, 0.0f, 0.0f, 0.0f};
|
||||
cmdbuf.SetBlendConstants(blend_constants.data());
|
||||
cmdbuf.BindPipeline(VK_PIPELINE_BIND_POINT_GRAPHICS, pipeline);
|
||||
if (dyn_stencil_compare) {
|
||||
cmdbuf.SetStencilCompareMask(VK_STENCIL_FACE_FRONT_BIT | VK_STENCIL_FACE_BACK_BIT,
|
||||
stencil_compare_mask);
|
||||
cmdbuf.SetStencilCompareMask(VK_STENCIL_FACE_FRONT_BIT | VK_STENCIL_FACE_BACK_BIT, stencil_compare_mask);
|
||||
}
|
||||
if (dyn_stencil_write) {
|
||||
cmdbuf.SetStencilWriteMask(VK_STENCIL_FACE_FRONT_BIT | VK_STENCIL_FACE_BACK_BIT,
|
||||
stencil_mask);
|
||||
cmdbuf.SetStencilWriteMask(VK_STENCIL_FACE_FRONT_BIT | VK_STENCIL_FACE_BACK_BIT, stencil_mask);
|
||||
}
|
||||
if (dyn_stencil_ref) {
|
||||
cmdbuf.SetStencilReference(VK_STENCIL_FACE_FRONT_BIT | VK_STENCIL_FACE_BACK_BIT,
|
||||
stencil_ref);
|
||||
cmdbuf.SetStencilReference(VK_STENCIL_FACE_FRONT_BIT | VK_STENCIL_FACE_BACK_BIT, stencil_ref);
|
||||
}
|
||||
BindBlitState(cmdbuf, dst_region);
|
||||
cmdbuf.PushConstants(layout, VK_SHADER_STAGE_FRAGMENT_BIT, clear_depth);
|
||||
|
|
|
|||
|
|
@ -484,7 +484,7 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
|
|||
.descriptorBufferPushDescriptors = VK_FALSE,
|
||||
};
|
||||
|
||||
if (extensions.descriptor_buffer && features.descriptor_buffer.descriptorBuffer) {
|
||||
if (extensions.descriptor_buffer) {
|
||||
first_next = &descriptor_buffer_features;
|
||||
}
|
||||
|
||||
|
|
@ -1245,17 +1245,6 @@ void Device::RemoveUnsuitableExtensions() {
|
|||
RemoveExtensionFeatureIfUnsuitable(extensions.custom_border_color, features.custom_border_color,
|
||||
VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME);
|
||||
|
||||
// VK_EXT_descriptor_buffer
|
||||
if (extensions.descriptor_buffer) {
|
||||
if (!features.descriptor_buffer.descriptorBuffer) {
|
||||
LOG_WARNING(Render_Vulkan,
|
||||
"VK_EXT_descriptor_buffer reported but descriptorBuffer feature not available");
|
||||
extensions.descriptor_buffer = false;
|
||||
}
|
||||
}
|
||||
RemoveExtensionFeatureIfUnsuitable(extensions.descriptor_buffer, features.descriptor_buffer,
|
||||
VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME);
|
||||
|
||||
// VK_EXT_depth_bias_control
|
||||
extensions.depth_bias_control =
|
||||
features.depth_bias_control.depthBiasControl &&
|
||||
|
|
@ -1410,12 +1399,6 @@ void Device::RemoveUnsuitableExtensions() {
|
|||
features.vertex_input_dynamic_state,
|
||||
VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME);
|
||||
|
||||
// VK_EXT_inline_uniform_block
|
||||
extensions.inline_uniform_block = features.inline_uniform_block.inlineUniformBlock;
|
||||
RemoveExtensionFeatureIfUnsuitable(extensions.inline_uniform_block,
|
||||
features.inline_uniform_block,
|
||||
VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME);
|
||||
|
||||
// VK_EXT_multi_draw
|
||||
extensions.multi_draw = features.multi_draw.multiDraw;
|
||||
|
||||
|
|
|
|||
|
|
@ -54,8 +54,6 @@ VK_DEFINE_HANDLE(VmaAllocator)
|
|||
FEATURE(EXT, ExtendedDynamicState, EXTENDED_DYNAMIC_STATE, extended_dynamic_state) \
|
||||
FEATURE(EXT, ExtendedDynamicState2, EXTENDED_DYNAMIC_STATE_2, extended_dynamic_state2) \
|
||||
FEATURE(EXT, ExtendedDynamicState3, EXTENDED_DYNAMIC_STATE_3, extended_dynamic_state3) \
|
||||
FEATURE(EXT, InlineUniformBlock, INLINE_UNIFORM_BLOCK, inline_uniform_block) \
|
||||
FEATURE(EXT, DescriptorBuffer, DESCRIPTOR_BUFFER, descriptor_buffer) \
|
||||
FEATURE(EXT, 4444Formats, 4444_FORMATS, format_a4b4g4r4) \
|
||||
FEATURE(EXT, IndexTypeUint8, INDEX_TYPE_UINT8, index_type_uint8) \
|
||||
FEATURE(EXT, LineRasterization, LINE_RASTERIZATION, line_rasterization) \
|
||||
|
|
@ -81,7 +79,6 @@ VK_DEFINE_HANDLE(VmaAllocator)
|
|||
EXTENSION(EXT, DEPTH_RANGE_UNRESTRICTED, depth_range_unrestricted) \
|
||||
EXTENSION(EXT, MEMORY_BUDGET, memory_budget) \
|
||||
EXTENSION(EXT, ROBUSTNESS_2, robustness_2) \
|
||||
EXTENSION(EXT, INLINE_UNIFORM_BLOCK, inline_uniform_block) \
|
||||
EXTENSION(EXT, SAMPLER_FILTER_MINMAX, sampler_filter_minmax) \
|
||||
EXTENSION(EXT, SHADER_STENCIL_EXPORT, shader_stencil_export) \
|
||||
EXTENSION(EXT, SHADER_VIEWPORT_INDEX_LAYER, shader_viewport_index_layer) \
|
||||
|
|
@ -107,11 +104,12 @@ VK_DEFINE_HANDLE(VmaAllocator)
|
|||
EXTENSION(NV, VIEWPORT_ARRAY2, viewport_array2) \
|
||||
EXTENSION(NV, VIEWPORT_SWIZZLE, viewport_swizzle) \
|
||||
EXTENSION(EXT, DESCRIPTOR_INDEXING, descriptor_indexing) \
|
||||
EXTENSION(EXT, DESCRIPTOR_BUFFER, descriptor_buffer) \
|
||||
EXTENSION(EXT, FILTER_CUBIC, filter_cubic) \
|
||||
EXTENSION(QCOM, FILTER_CUBIC_WEIGHTS, filter_cubic_weights) \
|
||||
EXTENSION(EXT, GRAPHICS_PIPELINE_LIBRARY, graphics_pipeline_library) \
|
||||
|
||||
EXTENSION(EXT, DESCRIPTOR_BUFFER, descriptor_buffer) \
|
||||
EXTENSION(EXT, INLINE_UNIFORM_BLOCK, inline_uniform_block) \
|
||||
|
||||
// Define extensions which must be supported.
|
||||
#define FOR_EACH_VK_MANDATORY_EXTENSION(EXTENSION_NAME) \
|
||||
EXTENSION_NAME(VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME) \
|
||||
|
|
|
|||
Loading…
Reference in New Issue