Move shader feature negotiation into renderer backend
This commit is contained in:
@@ -27,6 +27,16 @@ struct OpenGlCapabilities {
|
||||
bool float16_textures = false;
|
||||
};
|
||||
|
||||
struct OpenGlFeatureState {
|
||||
OpenGlCapabilities capabilities;
|
||||
pp::renderer::RenderDeviceFeatures features;
|
||||
};
|
||||
|
||||
struct OpenGlCapabilityDetectionResult {
|
||||
std::vector<std::string> extensions;
|
||||
OpenGlFeatureState feature_state;
|
||||
};
|
||||
|
||||
struct OpenGlPixelFormat {
|
||||
std::uint32_t internal_format = 0;
|
||||
std::uint32_t pixel_format = 0;
|
||||
@@ -689,6 +699,12 @@ struct OpenGlMeshDeleteDispatch {
|
||||
[[nodiscard]] OpenGlRuntime opengl_runtime_for_current_build() noexcept;
|
||||
[[nodiscard]] pp::renderer::RenderDeviceFeatures render_device_features(
|
||||
OpenGlCapabilities capabilities) noexcept;
|
||||
[[nodiscard]] OpenGlFeatureState detect_opengl_feature_state(
|
||||
std::span<const std::string_view> extensions,
|
||||
OpenGlRuntime runtime) noexcept;
|
||||
[[nodiscard]] pp::foundation::Result<OpenGlCapabilityDetectionResult> query_opengl_capability_detection(
|
||||
OpenGlExtensionQueryDispatch dispatch,
|
||||
OpenGlRuntime runtime);
|
||||
[[nodiscard]] OpenGlInitialState panopainter_initial_state() noexcept;
|
||||
[[nodiscard]] pp::foundation::Status apply_panopainter_initial_state(OpenGlStateDispatch dispatch) noexcept;
|
||||
[[nodiscard]] pp::foundation::Result<OpenGlSavedState> snapshot_opengl_state(
|
||||
|
||||
Reference in New Issue
Block a user