mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-06 07:37:09 +00:00
wined3d: Store the sample count in struct wined3d_d3d_info.
Read that in wined3d_swapchain_apply_sample_count_override().
This commit is contained in:
parent
1cab38b6ae
commit
3624e1191d
|
@ -5195,6 +5195,7 @@ static void wined3d_adapter_gl_init_d3d_info(struct wined3d_adapter_gl *adapter_
|
|||
d3d_info->limits.max_rt_count = gl_info->limits.buffers;
|
||||
d3d_info->limits.max_clip_distances = gl_info->limits.user_clip_distances;
|
||||
d3d_info->limits.texture_size = gl_info->limits.texture_size;
|
||||
d3d_info->limits.sample_count = gl_info->limits.samples;
|
||||
|
||||
gl_info->gl_ops.gl.p_glGetFloatv(gl_info->supported[WINED3D_GL_LEGACY_CONTEXT]
|
||||
? GL_ALIASED_POINT_SIZE_RANGE : GL_POINT_SIZE_RANGE, f);
|
||||
|
|
|
@ -2290,6 +2290,7 @@ static void wined3d_adapter_vk_init_d3d_info(struct wined3d_adapter_vk *adapter_
|
|||
struct wined3d_physical_device_info device_info;
|
||||
struct wined3d_vertex_caps vertex_caps;
|
||||
struct fragment_caps fragment_caps;
|
||||
unsigned int sample_counts_mask;
|
||||
struct shader_caps shader_caps;
|
||||
|
||||
get_physical_device_info(adapter_vk, &device_info);
|
||||
|
@ -2316,6 +2317,11 @@ static void wined3d_adapter_vk_init_d3d_info(struct wined3d_adapter_vk *adapter_
|
|||
d3d_info->limits.max_clip_distances = WINED3D_MAX_CLIP_DISTANCES;
|
||||
d3d_info->limits.texture_size = adapter_vk->device_limits.maxImageDimension2D;
|
||||
d3d_info->limits.pointsize_max = adapter_vk->device_limits.pointSizeRange[1];
|
||||
sample_counts_mask = adapter_vk->device_limits.framebufferColorSampleCounts
|
||||
| adapter_vk->device_limits.framebufferDepthSampleCounts
|
||||
| adapter_vk->device_limits.framebufferStencilSampleCounts
|
||||
| adapter_vk->device_limits.framebufferNoAttachmentsSampleCounts;
|
||||
d3d_info->limits.sample_count = (1u << wined3d_log2i(sample_counts_mask));
|
||||
|
||||
d3d_info->wined3d_creation_flags = wined3d_creation_flags;
|
||||
|
||||
|
|
|
@ -1353,7 +1353,6 @@ static void wined3d_swapchain_apply_sample_count_override(const struct wined3d_s
|
|||
enum wined3d_format_id format_id, enum wined3d_multisample_type *type, unsigned int *quality)
|
||||
{
|
||||
const struct wined3d_adapter *adapter;
|
||||
const struct wined3d_gl_info *gl_info;
|
||||
const struct wined3d_format *format;
|
||||
enum wined3d_multisample_type t;
|
||||
|
||||
|
@ -1361,11 +1360,10 @@ static void wined3d_swapchain_apply_sample_count_override(const struct wined3d_s
|
|||
return;
|
||||
|
||||
adapter = swapchain->device->adapter;
|
||||
gl_info = &adapter->gl_info;
|
||||
if (!(format = wined3d_get_format(adapter, format_id, WINED3D_BIND_RENDER_TARGET)))
|
||||
return;
|
||||
|
||||
if ((t = min(wined3d_settings.sample_count, gl_info->limits.samples)))
|
||||
if ((t = min(wined3d_settings.sample_count, adapter->d3d_info.limits.sample_count)))
|
||||
while (!(format->multisample_types & 1u << (t - 1)))
|
||||
++t;
|
||||
TRACE("Using sample count %u.\n", t);
|
||||
|
|
|
@ -213,6 +213,7 @@ struct wined3d_d3d_limits
|
|||
unsigned int max_rt_count;
|
||||
unsigned int max_clip_distances;
|
||||
unsigned int texture_size;
|
||||
unsigned int sample_count;
|
||||
float pointsize_max;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue