[rsx] reduce size of config structs

This commit is contained in:
DH 2021-11-28 09:33:24 +02:00 committed by Nekotekina
parent cccfb89aa0
commit 49c02854f5
3 changed files with 39 additions and 39 deletions

View File

@ -2,14 +2,14 @@
namespace glsl namespace glsl
{ {
enum program_domain enum program_domain : unsigned char
{ {
glsl_vertex_program = 0, glsl_vertex_program = 0,
glsl_fragment_program = 1, glsl_fragment_program = 1,
glsl_compute_program = 2 glsl_compute_program = 2
}; };
enum glsl_rules enum glsl_rules : unsigned char
{ {
glsl_rules_opengl4, glsl_rules_opengl4,
glsl_rules_spirv glsl_rules_spirv
@ -17,25 +17,25 @@ namespace glsl
struct shader_properties struct shader_properties
{ {
glsl::program_domain domain; glsl::program_domain domain : 3;
// Applicable in vertex stage // Applicable in vertex stage
bool require_lit_emulation; bool require_lit_emulation : 1;
// Only relevant for fragment programs // Only relevant for fragment programs
bool fp32_outputs; bool fp32_outputs : 1;
bool require_wpos; bool require_wpos : 1;
bool require_depth_conversion; bool require_depth_conversion : 1;
bool require_texture_ops; bool require_texture_ops : 1;
bool require_shadow_ops; bool require_shadow_ops : 1;
bool require_texture_expand; bool require_texture_expand : 1;
bool require_srgb_to_linear; bool require_srgb_to_linear : 1;
bool require_linear_to_srgb; bool require_linear_to_srgb : 1;
bool emulate_coverage_tests; bool emulate_coverage_tests : 1;
bool emulate_shadow_compare; bool emulate_shadow_compare : 1;
bool emulate_zclip_transform; bool emulate_zclip_transform : 1;
bool emulate_depth_clip_only; bool emulate_depth_clip_only : 1;
bool low_precision_tests; bool low_precision_tests : 1;
bool disable_early_discard; bool disable_early_discard : 1;
bool supports_native_fp16; bool supports_native_fp16 : 1;
}; };
}; };

View File

@ -42,11 +42,11 @@ namespace vk
buffer::buffer(const vk::render_device& dev, u64 size, const memory_type_info& memory_type, u32 access_flags, VkBufferUsageFlags usage, VkBufferCreateFlags flags, vmm_allocation_pool allocation_pool) buffer::buffer(const vk::render_device& dev, u64 size, const memory_type_info& memory_type, u32 access_flags, VkBufferUsageFlags usage, VkBufferCreateFlags flags, vmm_allocation_pool allocation_pool)
: m_device(dev) : m_device(dev)
{ {
info.size = size;
info.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO; info.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;
info.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
info.flags = flags; info.flags = flags;
info.size = size;
info.usage = usage; info.usage = usage;
info.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
CHECK_RESULT(vkCreateBuffer(m_device, &info, nullptr, &value)); CHECK_RESULT(vkCreateBuffer(m_device, &info, nullptr, &value));
@ -67,11 +67,11 @@ namespace vk
buffer::buffer(const vk::render_device& dev, VkBufferUsageFlags usage, void* host_pointer, u64 size) buffer::buffer(const vk::render_device& dev, VkBufferUsageFlags usage, void* host_pointer, u64 size)
: m_device(dev) : m_device(dev)
{ {
info.size = size;
info.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO; info.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;
info.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
info.flags = 0; info.flags = 0;
info.size = size;
info.usage = usage; info.usage = usage;
info.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
VkExternalMemoryBufferCreateInfoKHR ex_info; VkExternalMemoryBufferCreateInfoKHR ex_info;
ex_info.sType = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR; ex_info.sType = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR;

View File

@ -15,17 +15,17 @@ namespace vk
{ {
struct gpu_formats_support struct gpu_formats_support
{ {
bool d24_unorm_s8; bool d24_unorm_s8 : 1;
bool d32_sfloat_s8; bool d32_sfloat_s8 : 1;
bool bgra8_linear; bool bgra8_linear : 1;
bool argb8_linear; bool argb8_linear : 1;
}; };
struct gpu_shader_types_support struct gpu_shader_types_support
{ {
bool allow_float64; bool allow_float64 : 1;
bool allow_float16; bool allow_float16 : 1;
bool allow_int8; bool allow_int8 : 1;
}; };
struct memory_type_mapping struct memory_type_mapping
@ -54,17 +54,17 @@ namespace vk
gpu_shader_types_support shader_types_support{}; gpu_shader_types_support shader_types_support{};
VkPhysicalDeviceDriverPropertiesKHR driver_properties{}; VkPhysicalDeviceDriverPropertiesKHR driver_properties{};
bool stencil_export_support = false; bool stencil_export_support : 1 = false;
bool conditional_render_support = false; bool conditional_render_support : 1 = false;
bool external_memory_host_support = false; bool external_memory_host_support : 1 = false;
bool unrestricted_depth_range_support = false; bool unrestricted_depth_range_support : 1 = false;
bool surface_capabilities_2_support = false; bool surface_capabilities_2_support : 1 = false;
bool debug_utils_support = false; bool debug_utils_support : 1 = false;
bool sampler_mirror_clamped_support = false; bool sampler_mirror_clamped_support : 1 = false;
bool descriptor_indexing_support = false; bool descriptor_indexing_support : 1 = false;
u64 descriptor_update_after_bind_mask = 0;
u32 descriptor_max_draw_calls = DESCRIPTOR_MAX_DRAW_CALLS; u32 descriptor_max_draw_calls = DESCRIPTOR_MAX_DRAW_CALLS;
u64 descriptor_update_after_bind_mask = 0;
friend class render_device; friend class render_device;
private: private: