renderer_vulkan: Trim down used features
This commit is contained in:
@@ -561,15 +561,12 @@ bool Instance::CreateDevice() {
|
|||||||
},
|
},
|
||||||
vk::PhysicalDeviceFeatures2{
|
vk::PhysicalDeviceFeatures2{
|
||||||
.features{
|
.features{
|
||||||
.robustBufferAccess = features.robustBufferAccess,
|
|
||||||
.geometryShader = features.geometryShader,
|
.geometryShader = features.geometryShader,
|
||||||
.dualSrcBlend = features.dualSrcBlend,
|
|
||||||
.logicOp = features.logicOp,
|
.logicOp = features.logicOp,
|
||||||
.depthClamp = features.depthClamp,
|
.depthClamp = features.depthClamp,
|
||||||
.largePoints = features.largePoints,
|
.largePoints = features.largePoints,
|
||||||
.samplerAnisotropy = features.samplerAnisotropy,
|
.samplerAnisotropy = features.samplerAnisotropy,
|
||||||
.fragmentStoresAndAtomics = features.fragmentStoresAndAtomics,
|
.fragmentStoresAndAtomics = features.fragmentStoresAndAtomics,
|
||||||
.shaderStorageImageMultisample = features.shaderStorageImageMultisample,
|
|
||||||
.shaderClipDistance = features.shaderClipDistance,
|
.shaderClipDistance = features.shaderClipDistance,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@@ -47,7 +47,9 @@ static std::string GetVertexInterfaceDeclaration(bool is_output) {
|
|||||||
out += R"(
|
out += R"(
|
||||||
out gl_PerVertex {
|
out gl_PerVertex {
|
||||||
vec4 gl_Position;
|
vec4 gl_Position;
|
||||||
|
#if defined(GL_EXT_clip_cull_distance)
|
||||||
float gl_ClipDistance[2];
|
float gl_ClipDistance[2];
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
)";
|
)";
|
||||||
}
|
}
|
||||||
@@ -1587,12 +1589,14 @@ void main() {
|
|||||||
gl_Position = vert_position;
|
gl_Position = vert_position;
|
||||||
gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0;
|
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
|
gl_ClipDistance[0] = -vert_position.z; // fixed PICA clipping plane z <= 0
|
||||||
if (enable_clip1) {
|
if (enable_clip1) {
|
||||||
gl_ClipDistance[1] = dot(clip_coef, vert_position);
|
gl_ClipDistance[1] = dot(clip_coef, vert_position);
|
||||||
} else {
|
} else {
|
||||||
gl_ClipDistance[1] = 0;
|
gl_ClipDistance[1] = 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
)";
|
)";
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user