renderer_vulkan: Trim down used features

This commit is contained in:
GPUCode
2023-01-19 23:37:02 +02:00
parent 9f385ddeb7
commit e9ccd51286
2 changed files with 4 additions and 3 deletions

View File

@@ -561,15 +561,12 @@ bool Instance::CreateDevice() {
},
vk::PhysicalDeviceFeatures2{
.features{
.robustBufferAccess = features.robustBufferAccess,
.geometryShader = features.geometryShader,
.dualSrcBlend = features.dualSrcBlend,
.logicOp = features.logicOp,
.depthClamp = features.depthClamp,
.largePoints = features.largePoints,
.samplerAnisotropy = features.samplerAnisotropy,
.fragmentStoresAndAtomics = features.fragmentStoresAndAtomics,
.shaderStorageImageMultisample = features.shaderStorageImageMultisample,
.shaderClipDistance = features.shaderClipDistance,
},
},

View File

@@ -47,7 +47,9 @@ static std::string GetVertexInterfaceDeclaration(bool is_output) {
out += R"(
out gl_PerVertex {
vec4 gl_Position;
#if defined(GL_EXT_clip_cull_distance)
float gl_ClipDistance[2];
#endif
};
)";
}
@@ -1587,12 +1589,14 @@ void main() {
gl_Position = vert_position;
gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0;
#if defined(GL_EXT_clip_cull_distance)
gl_ClipDistance[0] = -vert_position.z; // fixed PICA clipping plane z <= 0
if (enable_clip1) {
gl_ClipDistance[1] = dot(clip_coef, vert_position);
} else {
gl_ClipDistance[1] = 0;
}
#endif
}
)";