diff options
author | RĂ©mi Verschelde <remi@verschelde.fr> | 2022-01-04 16:43:23 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-04 16:43:23 +0100 |
commit | 095c72b03ecedde87bf9e4aac0f8576d829dd9ee (patch) | |
tree | 91a49e1be50f766a1e0cebdafc92cb4f096c071f /drivers | |
parent | 23ba76f2ecf0a44b41c7ec7fc583d65b0c7164b1 (diff) | |
parent | b3174e7af93e9840698bba53a5d866a61c37d2da (diff) |
Merge pull request #55790 from Calinou/renderingserver-add-device-type-getter
Add `RenderingServer.get_video_adapter_type()` method
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gles3/rasterizer_storage_gles3.cpp | 4 | ||||
-rw-r--r-- | drivers/gles3/rasterizer_storage_gles3.h | 1 | ||||
-rw-r--r-- | drivers/vulkan/rendering_device_vulkan.cpp | 5 | ||||
-rw-r--r-- | drivers/vulkan/rendering_device_vulkan.h | 1 | ||||
-rw-r--r-- | drivers/vulkan/vulkan_context.cpp | 6 | ||||
-rw-r--r-- | drivers/vulkan/vulkan_context.h | 3 |
6 files changed, 20 insertions, 0 deletions
diff --git a/drivers/gles3/rasterizer_storage_gles3.cpp b/drivers/gles3/rasterizer_storage_gles3.cpp index d154690522..e010e55307 100644 --- a/drivers/gles3/rasterizer_storage_gles3.cpp +++ b/drivers/gles3/rasterizer_storage_gles3.cpp @@ -4465,6 +4465,10 @@ String RasterizerStorageGLES3::get_video_adapter_vendor() const { return (const char *)glGetString(GL_VENDOR); } +RenderingDevice::DeviceType RasterizerStorageGLES3::get_video_adapter_type() const { + return RenderingDevice::DeviceType::DEVICE_TYPE_OTHER; +} + void RasterizerStorageGLES3::initialize() { RasterizerStorageGLES3::system_fbo = 0; diff --git a/drivers/gles3/rasterizer_storage_gles3.h b/drivers/gles3/rasterizer_storage_gles3.h index 9e68812063..69af0f6578 100644 --- a/drivers/gles3/rasterizer_storage_gles3.h +++ b/drivers/gles3/rasterizer_storage_gles3.h @@ -1361,6 +1361,7 @@ public: // int get_render_info(RS::RenderInfo p_info) override; String get_video_adapter_name() const override; String get_video_adapter_vendor() const override; + RenderingDevice::DeviceType get_video_adapter_type() const override; void capture_timestamps_begin() override {} void capture_timestamp(const String &p_name) override {} diff --git a/drivers/vulkan/rendering_device_vulkan.cpp b/drivers/vulkan/rendering_device_vulkan.cpp index 3c1d4c3af8..708ea4b265 100644 --- a/drivers/vulkan/rendering_device_vulkan.cpp +++ b/drivers/vulkan/rendering_device_vulkan.cpp @@ -8526,6 +8526,11 @@ String RenderingDeviceVulkan::get_device_vendor_name() const { String RenderingDeviceVulkan::get_device_name() const { return context->get_device_name(); } + +RenderingDevice::DeviceType RenderingDeviceVulkan::get_device_type() const { + return context->get_device_type(); +} + String RenderingDeviceVulkan::get_device_pipeline_cache_uuid() const { return context->get_device_pipeline_cache_uuid(); } diff --git a/drivers/vulkan/rendering_device_vulkan.h b/drivers/vulkan/rendering_device_vulkan.h index b953dfbb10..408fddf4bf 100644 --- a/drivers/vulkan/rendering_device_vulkan.h +++ b/drivers/vulkan/rendering_device_vulkan.h @@ -1225,6 +1225,7 @@ public: virtual String get_device_vendor_name() const; virtual String get_device_name() const; + virtual RenderingDevice::DeviceType get_device_type() const; virtual String get_device_pipeline_cache_uuid() const; virtual uint64_t get_driver_resource(DriverResource p_resource, RID p_rid = RID(), uint64_t p_index = 0); diff --git a/drivers/vulkan/vulkan_context.cpp b/drivers/vulkan/vulkan_context.cpp index faebde1dfe..102787f0bf 100644 --- a/drivers/vulkan/vulkan_context.cpp +++ b/drivers/vulkan/vulkan_context.cpp @@ -760,6 +760,7 @@ Error VulkanContext::_create_physical_device() { { 0, nullptr }, }; device_name = gpu_props.deviceName; + device_type = gpu_props.deviceType; pipeline_cache_id = String::hex_encode_buffer(gpu_props.pipelineCacheUUID, VK_UUID_SIZE); pipeline_cache_id += "-driver-" + itos(gpu_props.driverVersion); { @@ -2208,6 +2209,11 @@ String VulkanContext::get_device_vendor_name() const { String VulkanContext::get_device_name() const { return device_name; } + +RenderingDevice::DeviceType VulkanContext::get_device_type() const { + return RenderingDevice::DeviceType(device_type); +} + String VulkanContext::get_device_pipeline_cache_uuid() const { return pipeline_cache_id; } diff --git a/drivers/vulkan/vulkan_context.h b/drivers/vulkan/vulkan_context.h index dddbc6b5b2..5cac7e7771 100644 --- a/drivers/vulkan/vulkan_context.h +++ b/drivers/vulkan/vulkan_context.h @@ -37,6 +37,7 @@ #include "core/templates/map.h" #include "core/templates/rid_owner.h" #include "servers/display_server.h" +#include "servers/rendering/rendering_device.h" #ifdef USE_VOLK #include <volk.h> @@ -101,6 +102,7 @@ private: String device_vendor; String device_name; + VkPhysicalDeviceType device_type; String pipeline_cache_id; uint32_t device_api_version = 0; @@ -290,6 +292,7 @@ public: String get_device_vendor_name() const; String get_device_name() const; + RenderingDevice::DeviceType get_device_type() const; String get_device_pipeline_cache_uuid() const; void set_vsync_mode(DisplayServer::WindowID p_window, DisplayServer::VSyncMode p_mode); |