early-access version 3992
This commit is contained in:
@@ -265,33 +265,33 @@ std::string Device::GetVendorName() const {
|
||||
if (vendor_name == "Intel") {
|
||||
// For Mesa, `Intel` is an overloaded vendor string that could mean crocus or iris.
|
||||
// Simply return `INTEL` for those as well as the Windows driver.
|
||||
return "INTEL";
|
||||
return "Intel";
|
||||
}
|
||||
if (vendor_name == "Intel Open Source Technology Center") {
|
||||
return "I965";
|
||||
return "i965";
|
||||
}
|
||||
if (vendor_name == "Mesa Project") {
|
||||
return "I915";
|
||||
return "i915";
|
||||
}
|
||||
if (vendor_name == "Mesa/X.org") {
|
||||
// This vendor string is overloaded between llvmpipe, softpipe, and virgl, so just return
|
||||
// MESA instead of one of those driver names.
|
||||
return "MESA";
|
||||
return "Mesa";
|
||||
}
|
||||
if (vendor_name == "AMD") {
|
||||
return "RADEONSI";
|
||||
return "RadeonSI";
|
||||
}
|
||||
if (vendor_name == "nouveau") {
|
||||
return "NOUVEAU";
|
||||
return "Nouveau";
|
||||
}
|
||||
if (vendor_name == "X.Org") {
|
||||
return "R600";
|
||||
}
|
||||
if (vendor_name == "Collabora Ltd") {
|
||||
return "ZINK";
|
||||
return "Zink";
|
||||
}
|
||||
if (vendor_name == "Intel Corporation") {
|
||||
return "OPENSWR";
|
||||
return "OpenSWR";
|
||||
}
|
||||
if (vendor_name == "Microsoft Corporation") {
|
||||
return "D3D12";
|
||||
@@ -300,7 +300,7 @@ std::string Device::GetVendorName() const {
|
||||
// Mesa's tegra driver reports `NVIDIA`. Only present in this list because the default
|
||||
// strategy would have returned `NVIDIA` here for this driver, the same result as the
|
||||
// proprietary driver.
|
||||
return "TEGRA";
|
||||
return "Tegra";
|
||||
}
|
||||
return vendor_name;
|
||||
}
|
||||
|
||||
@@ -1785,8 +1785,22 @@ ImageView::ImageView(TextureCacheRuntime&, const VideoCommon::ImageInfo& info,
|
||||
: VideoCommon::ImageViewBase{info, view_info, gpu_addr_},
|
||||
buffer_size{VideoCommon::CalculateGuestSizeInBytes(info)} {}
|
||||
|
||||
ImageView::ImageView(TextureCacheRuntime&, const VideoCommon::NullImageViewParams& params)
|
||||
: VideoCommon::ImageViewBase{params} {}
|
||||
ImageView::ImageView(TextureCacheRuntime& runtime, const VideoCommon::NullImageViewParams& params)
|
||||
: VideoCommon::ImageViewBase{params}, device{&runtime.device} {
|
||||
if (device->HasNullDescriptor()) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Handle fallback for devices without nullDescriptor
|
||||
ImageInfo info{};
|
||||
info.format = PixelFormat::A8B8G8R8_UNORM;
|
||||
|
||||
null_image = MakeImage(*device, runtime.memory_allocator, info, {});
|
||||
image_handle = *null_image;
|
||||
for (u32 i = 0; i < Shader::NUM_TEXTURE_TYPES; i++) {
|
||||
image_views[i] = MakeView(VK_FORMAT_A8B8G8R8_UNORM_PACK32, VK_IMAGE_ASPECT_COLOR_BIT);
|
||||
}
|
||||
}
|
||||
|
||||
ImageView::~ImageView() = default;
|
||||
|
||||
|
||||
@@ -267,6 +267,7 @@ private:
|
||||
vk::ImageView depth_view;
|
||||
vk::ImageView stencil_view;
|
||||
vk::ImageView color_view;
|
||||
vk::Image null_image;
|
||||
VkImage image_handle = VK_NULL_HANDLE;
|
||||
VkImageView render_target = VK_NULL_HANDLE;
|
||||
VkSampleCountFlagBits samples = VK_SAMPLE_COUNT_1_BIT;
|
||||
|
||||
@@ -847,11 +847,41 @@ std::string Device::GetDriverName() const {
|
||||
case VK_DRIVER_ID_NVIDIA_PROPRIETARY:
|
||||
return "NVIDIA";
|
||||
case VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS:
|
||||
return "INTEL";
|
||||
return "Intel";
|
||||
case VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA:
|
||||
return "ANV";
|
||||
case VK_DRIVER_ID_IMAGINATION_PROPRIETARY:
|
||||
return "PowerVR";
|
||||
case VK_DRIVER_ID_QUALCOMM_PROPRIETARY:
|
||||
return "Qualcomm";
|
||||
case VK_DRIVER_ID_ARM_PROPRIETARY:
|
||||
return "Mali";
|
||||
case VK_DRIVER_ID_GOOGLE_SWIFTSHADER:
|
||||
return "SwiftShader";
|
||||
case VK_DRIVER_ID_BROADCOM_PROPRIETARY:
|
||||
return "Broadcom";
|
||||
case VK_DRIVER_ID_MESA_LLVMPIPE:
|
||||
return "LAVAPIPE";
|
||||
return "Lavapipe";
|
||||
case VK_DRIVER_ID_MOLTENVK:
|
||||
return "MoltenVK";
|
||||
case VK_DRIVER_ID_VERISILICON_PROPRIETARY:
|
||||
return "Vivante";
|
||||
case VK_DRIVER_ID_MESA_TURNIP:
|
||||
return "Turnip";
|
||||
case VK_DRIVER_ID_MESA_V3DV:
|
||||
return "V3DV";
|
||||
case VK_DRIVER_ID_MESA_PANVK:
|
||||
return "PanVK";
|
||||
case VK_DRIVER_ID_MESA_VENUS:
|
||||
return "Venus";
|
||||
case VK_DRIVER_ID_MESA_DOZEN:
|
||||
return "Dozen";
|
||||
case VK_DRIVER_ID_MESA_NVK:
|
||||
return "NVK";
|
||||
case VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA:
|
||||
return "PVR";
|
||||
// case VK_DRIVER_ID_MESA_AGXV:
|
||||
// return "Asahi";
|
||||
default:
|
||||
return properties.driver.driverName;
|
||||
}
|
||||
@@ -869,7 +899,8 @@ bool Device::ShouldBoostClocks() const {
|
||||
driver_id == VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA ||
|
||||
driver_id == VK_DRIVER_ID_QUALCOMM_PROPRIETARY || driver_id == VK_DRIVER_ID_MESA_TURNIP;
|
||||
|
||||
const bool is_steam_deck = vendor_id == 0x1002 && device_id == 0x163F;
|
||||
const bool is_steam_deck = (vendor_id == 0x1002 && device_id == 0x163F) ||
|
||||
(vendor_id == 0x1002 && device_id == 0x1435);
|
||||
|
||||
const bool is_debugging = this->HasDebuggingToolAttached();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user