mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Rebase against 698d4114677205c3e5a0df659d230fe982578757.
This commit is contained in:
parent
5d32e6fc71
commit
94419b1dad
@ -51,7 +51,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "e36a7e5da441be201ceb3b576999198998ad5b43"
|
||||
echo "698d4114677205c3e5a0df659d230fe982578757"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -7364,6 +7364,7 @@ fi
|
||||
# | dlls/wined3d/wined3d_main.c, dlls/wined3d/wined3d_private.h, dlls/winex11.drv/opengl.c
|
||||
# |
|
||||
if test "$enable_wined3d_CSMT_Main" -eq 1; then
|
||||
patch_apply wined3d-CSMT_Main/0000-Revert-wined3d-Send-shader-constant-updates-through-.patch
|
||||
patch_apply wined3d-CSMT_Main/0001-wined3d-Make-surface_load_location-return-nothing.patch
|
||||
patch_apply wined3d-CSMT_Main/0002-wined3d-Start-to-move-surface-volume_load_location-i.patch
|
||||
patch_apply wined3d-CSMT_Main/0003-wined3d-Call-texture_load_location-instead-of-surfac.patch
|
||||
@ -7498,6 +7499,7 @@ if test "$enable_wined3d_CSMT_Main" -eq 1; then
|
||||
patch_apply wined3d-CSMT_Main/9998-wined3d-Enable-CSMT-by-default-print-a-winediag-mess.patch
|
||||
patch_apply wined3d-CSMT_Main/9999-IfDefined.patch
|
||||
(
|
||||
echo '+ { "Sebastian Lackner", "Revert \"wined3d: Send shader constant updates through the command stream.\".", 1 },';
|
||||
echo '+ { "Stefan Dösinger", "wined3d: Make surface_load_location return nothing.", 1 },';
|
||||
echo '+ { "Stefan Dösinger", "wined3d: Start to move surface/volume_load_location into the texture.", 1 },';
|
||||
echo '+ { "Stefan Dösinger", "wined3d: Call texture_load_location instead of surface_load_location.", 1 },';
|
||||
|
@ -0,0 +1,250 @@
|
||||
From 538dbd373b103467e566747b3e73c3477a440d09 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Wed, 25 May 2016 01:50:36 +0200
|
||||
Subject: Revert "wined3d: Send shader constant updates through the command
|
||||
stream."
|
||||
|
||||
This reverts commit aa666adfed929a2f711d9570fe389856bcaac346.
|
||||
---
|
||||
dlls/wined3d/arb_program_shader.c | 12 +++++++++++
|
||||
dlls/wined3d/cs.c | 44 ---------------------------------------
|
||||
dlls/wined3d/device.c | 22 ++++++++++++++------
|
||||
dlls/wined3d/glsl_shader.c | 10 +++++++++
|
||||
dlls/wined3d/wined3d_private.h | 18 ----------------
|
||||
5 files changed, 38 insertions(+), 68 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
|
||||
index 80702a2..0fb2f67 100644
|
||||
--- a/dlls/wined3d/arb_program_shader.c
|
||||
+++ b/dlls/wined3d/arb_program_shader.c
|
||||
@@ -729,6 +729,12 @@ static void shader_arb_update_float_vertex_constants(struct wined3d_device *devi
|
||||
{
|
||||
struct wined3d_context *context = context_get_current();
|
||||
struct shader_arb_priv *priv = device->shader_priv;
|
||||
+ unsigned int i;
|
||||
+
|
||||
+ for (i = 0; i < device->context_count; ++i)
|
||||
+ {
|
||||
+ device->contexts[i]->constant_update_mask |= WINED3D_SHADER_CONST_VS_F;
|
||||
+ }
|
||||
|
||||
/* We don't want shader constant dirtification to be an O(contexts), so just dirtify the active
|
||||
* context. On a context switch the old context will be fully dirtified */
|
||||
@@ -742,6 +748,12 @@ static void shader_arb_update_float_pixel_constants(struct wined3d_device *devic
|
||||
{
|
||||
struct wined3d_context *context = context_get_current();
|
||||
struct shader_arb_priv *priv = device->shader_priv;
|
||||
+ unsigned int i;
|
||||
+
|
||||
+ for (i = 0; i < device->context_count; ++i)
|
||||
+ {
|
||||
+ device->contexts[i]->constant_update_mask |= WINED3D_SHADER_CONST_PS_F;
|
||||
+ }
|
||||
|
||||
/* We don't want shader constant dirtification to be an O(contexts), so just dirtify the active
|
||||
* context. On a context switch the old context will be fully dirtified */
|
||||
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
|
||||
index edb5cf2..ea4778c 100644
|
||||
--- a/dlls/wined3d/cs.c
|
||||
+++ b/dlls/wined3d/cs.c
|
||||
@@ -1070,54 +1070,10 @@ static void wined3d_cs_st_submit(struct wined3d_cs *cs)
|
||||
wined3d_cs_op_handlers[opcode](cs, cs->data);
|
||||
}
|
||||
|
||||
-static void wined3d_cs_st_push_constants(struct wined3d_cs *cs, enum wined3d_push_constants p,
|
||||
- unsigned int start_idx, unsigned int count, const void *constants)
|
||||
-{
|
||||
- struct wined3d_device *device = cs->device;
|
||||
- unsigned int context_count;
|
||||
- unsigned int i;
|
||||
- size_t offset;
|
||||
-
|
||||
- static const struct
|
||||
- {
|
||||
- size_t offset;
|
||||
- size_t size;
|
||||
- DWORD mask;
|
||||
- }
|
||||
- push_constant_info[] =
|
||||
- {
|
||||
- /* WINED3D_PUSH_CONSTANTS_VS_F */
|
||||
- {FIELD_OFFSET(struct wined3d_state, vs_consts_f), sizeof(struct wined3d_vec4), WINED3D_SHADER_CONST_VS_F},
|
||||
- /* WINED3D_PUSH_CONSTANTS_PS_F */
|
||||
- {FIELD_OFFSET(struct wined3d_state, ps_consts_f), sizeof(struct wined3d_vec4), WINED3D_SHADER_CONST_PS_F},
|
||||
- /* WINED3D_PUSH_CONSTANTS_VS_I */
|
||||
- {FIELD_OFFSET(struct wined3d_state, vs_consts_i), sizeof(struct wined3d_ivec4), WINED3D_SHADER_CONST_VS_I},
|
||||
- /* WINED3D_PUSH_CONSTANTS_PS_I */
|
||||
- {FIELD_OFFSET(struct wined3d_state, ps_consts_i), sizeof(struct wined3d_ivec4), WINED3D_SHADER_CONST_PS_I},
|
||||
- /* WINED3D_PUSH_CONSTANTS_VS_B */
|
||||
- {FIELD_OFFSET(struct wined3d_state, vs_consts_b), sizeof(BOOL), WINED3D_SHADER_CONST_VS_B},
|
||||
- /* WINED3D_PUSH_CONSTANTS_PS_B */
|
||||
- {FIELD_OFFSET(struct wined3d_state, ps_consts_b), sizeof(BOOL), WINED3D_SHADER_CONST_PS_B},
|
||||
- };
|
||||
-
|
||||
- if (p == WINED3D_PUSH_CONSTANTS_VS_F)
|
||||
- device->shader_backend->shader_update_float_vertex_constants(device, start_idx, count);
|
||||
- else if (p == WINED3D_PUSH_CONSTANTS_PS_F)
|
||||
- device->shader_backend->shader_update_float_pixel_constants(device, start_idx, count);
|
||||
-
|
||||
- offset = push_constant_info[p].offset + start_idx * push_constant_info[p].size;
|
||||
- memcpy((BYTE *)&cs->state + offset, constants, count * push_constant_info[p].size);
|
||||
- for (i = 0, context_count = device->context_count; i < context_count; ++i)
|
||||
- {
|
||||
- device->contexts[i]->constant_update_mask |= push_constant_info[p].mask;
|
||||
- }
|
||||
-}
|
||||
-
|
||||
static const struct wined3d_cs_ops wined3d_cs_st_ops =
|
||||
{
|
||||
wined3d_cs_st_require_space,
|
||||
wined3d_cs_st_submit,
|
||||
- wined3d_cs_st_push_constants,
|
||||
};
|
||||
|
||||
struct wined3d_cs *wined3d_cs_create(struct wined3d_device *device)
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index 5bac3d0..e9fc75a 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -2367,6 +2367,16 @@ struct wined3d_sampler * CDECL wined3d_device_get_vs_sampler(const struct wined3
|
||||
return device->state.sampler[WINED3D_SHADER_TYPE_VERTEX][idx];
|
||||
}
|
||||
|
||||
+static void device_invalidate_shader_constants(const struct wined3d_device *device, DWORD mask)
|
||||
+{
|
||||
+ UINT i;
|
||||
+
|
||||
+ for (i = 0; i < device->context_count; ++i)
|
||||
+ {
|
||||
+ device->contexts[i]->constant_update_mask |= mask;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
HRESULT CDECL wined3d_device_set_vs_consts_b(struct wined3d_device *device,
|
||||
unsigned int start_idx, unsigned int count, const BOOL *constants)
|
||||
{
|
||||
@@ -2394,7 +2404,7 @@ HRESULT CDECL wined3d_device_set_vs_consts_b(struct wined3d_device *device,
|
||||
}
|
||||
else
|
||||
{
|
||||
- wined3d_cs_push_constants(device->cs, WINED3D_PUSH_CONSTANTS_VS_B, start_idx, count, constants);
|
||||
+ device_invalidate_shader_constants(device, WINED3D_SHADER_CONST_VS_B);
|
||||
}
|
||||
|
||||
return WINED3D_OK;
|
||||
@@ -2443,7 +2453,7 @@ HRESULT CDECL wined3d_device_set_vs_consts_i(struct wined3d_device *device,
|
||||
}
|
||||
else
|
||||
{
|
||||
- wined3d_cs_push_constants(device->cs, WINED3D_PUSH_CONSTANTS_VS_I, start_idx, count, constants);
|
||||
+ device_invalidate_shader_constants(device, WINED3D_SHADER_CONST_VS_I);
|
||||
}
|
||||
|
||||
return WINED3D_OK;
|
||||
@@ -2488,7 +2498,7 @@ HRESULT CDECL wined3d_device_set_vs_consts_f(struct wined3d_device *device,
|
||||
memset(&device->recording->changed.vs_consts_f[start_idx], 1,
|
||||
count * sizeof(*device->recording->changed.vs_consts_f));
|
||||
else
|
||||
- wined3d_cs_push_constants(device->cs, WINED3D_PUSH_CONSTANTS_VS_F, start_idx, count, constants);
|
||||
+ device->shader_backend->shader_update_float_vertex_constants(device, start_idx, count);
|
||||
|
||||
return WINED3D_OK;
|
||||
}
|
||||
@@ -2627,7 +2637,7 @@ HRESULT CDECL wined3d_device_set_ps_consts_b(struct wined3d_device *device,
|
||||
}
|
||||
else
|
||||
{
|
||||
- wined3d_cs_push_constants(device->cs, WINED3D_PUSH_CONSTANTS_PS_B, start_idx, count, constants);
|
||||
+ device_invalidate_shader_constants(device, WINED3D_SHADER_CONST_PS_B);
|
||||
}
|
||||
|
||||
return WINED3D_OK;
|
||||
@@ -2676,7 +2686,7 @@ HRESULT CDECL wined3d_device_set_ps_consts_i(struct wined3d_device *device,
|
||||
}
|
||||
else
|
||||
{
|
||||
- wined3d_cs_push_constants(device->cs, WINED3D_PUSH_CONSTANTS_PS_I, start_idx, count, constants);
|
||||
+ device_invalidate_shader_constants(device, WINED3D_SHADER_CONST_PS_I);
|
||||
}
|
||||
|
||||
return WINED3D_OK;
|
||||
@@ -2722,7 +2732,7 @@ HRESULT CDECL wined3d_device_set_ps_consts_f(struct wined3d_device *device,
|
||||
memset(&device->recording->changed.ps_consts_f[start_idx], 1,
|
||||
count * sizeof(*device->recording->changed.ps_consts_f));
|
||||
else
|
||||
- wined3d_cs_push_constants(device->cs, WINED3D_PUSH_CONSTANTS_PS_F, start_idx, count, constants);
|
||||
+ device->shader_backend->shader_update_float_pixel_constants(device, start_idx, count);
|
||||
|
||||
return WINED3D_OK;
|
||||
}
|
||||
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
|
||||
index d3a0ebf..f671e84 100644
|
||||
--- a/dlls/wined3d/glsl_shader.c
|
||||
+++ b/dlls/wined3d/glsl_shader.c
|
||||
@@ -1555,6 +1555,11 @@ static void shader_glsl_update_float_vertex_constants(struct wined3d_device *dev
|
||||
{
|
||||
update_heap_entry(heap, i, priv->next_constant_version);
|
||||
}
|
||||
+
|
||||
+ for (i = 0; i < device->context_count; ++i)
|
||||
+ {
|
||||
+ device->contexts[i]->constant_update_mask |= WINED3D_SHADER_CONST_VS_F;
|
||||
+ }
|
||||
}
|
||||
|
||||
static void shader_glsl_update_float_pixel_constants(struct wined3d_device *device, UINT start, UINT count)
|
||||
@@ -1567,6 +1572,11 @@ static void shader_glsl_update_float_pixel_constants(struct wined3d_device *devi
|
||||
{
|
||||
update_heap_entry(heap, i, priv->next_constant_version);
|
||||
}
|
||||
+
|
||||
+ for (i = 0; i < device->context_count; ++i)
|
||||
+ {
|
||||
+ device->contexts[i]->constant_update_mask |= WINED3D_SHADER_CONST_PS_F;
|
||||
+ }
|
||||
}
|
||||
|
||||
static unsigned int vec4_varyings(DWORD shader_major, const struct wined3d_gl_info *gl_info)
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 8c19aa8..06e4ba9 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2853,22 +2853,10 @@ void state_init(struct wined3d_state *state, struct wined3d_fb_state *fb,
|
||||
DWORD flags) DECLSPEC_HIDDEN;
|
||||
void state_unbind_resources(struct wined3d_state *state) DECLSPEC_HIDDEN;
|
||||
|
||||
-enum wined3d_push_constants
|
||||
-{
|
||||
- WINED3D_PUSH_CONSTANTS_VS_F,
|
||||
- WINED3D_PUSH_CONSTANTS_PS_F,
|
||||
- WINED3D_PUSH_CONSTANTS_VS_I,
|
||||
- WINED3D_PUSH_CONSTANTS_PS_I,
|
||||
- WINED3D_PUSH_CONSTANTS_VS_B,
|
||||
- WINED3D_PUSH_CONSTANTS_PS_B,
|
||||
-};
|
||||
-
|
||||
struct wined3d_cs_ops
|
||||
{
|
||||
void *(*require_space)(struct wined3d_cs *cs, size_t size);
|
||||
void (*submit)(struct wined3d_cs *cs);
|
||||
- void (*push_constants)(struct wined3d_cs *cs, enum wined3d_push_constants p,
|
||||
- unsigned int start_idx, unsigned int count, const void *constants);
|
||||
};
|
||||
|
||||
struct wined3d_cs
|
||||
@@ -2933,12 +2921,6 @@ void wined3d_cs_emit_set_vertex_declaration(struct wined3d_cs *cs,
|
||||
struct wined3d_vertex_declaration *declaration) DECLSPEC_HIDDEN;
|
||||
void wined3d_cs_emit_set_viewport(struct wined3d_cs *cs, const struct wined3d_viewport *viewport) DECLSPEC_HIDDEN;
|
||||
|
||||
-static inline void wined3d_cs_push_constants(struct wined3d_cs *cs, enum wined3d_push_constants p,
|
||||
- unsigned int start_idx, unsigned int count, const void *constants)
|
||||
-{
|
||||
- cs->ops->push_constants(cs, p, start_idx, count, constants);
|
||||
-}
|
||||
-
|
||||
/* Direct3D terminology with little modifications. We do not have an issued state
|
||||
* because only the driver knows about it, but we have a created state because d3d
|
||||
* allows GetData on a created issue, but opengl doesn't
|
||||
--
|
||||
2.8.0
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 5fd343b7c5aaa3292d5990b16d77eb16bb7b31f8 Mon Sep 17 00:00:00 2001
|
||||
From 7caccd824631bc26892ad9c9f9e9f97b689a1450 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Thu, 10 Oct 2013 16:29:42 +0200
|
||||
Subject: wined3d: Create dummy textures through the CS.
|
||||
@ -12,7 +12,7 @@ crash.
|
||||
3 files changed, 35 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
|
||||
index 3208c35..f7a5c6e 100644
|
||||
index d5b5715..d3bd368 100644
|
||||
--- a/dlls/wined3d/cs.c
|
||||
+++ b/dlls/wined3d/cs.c
|
||||
@@ -89,6 +89,7 @@ enum wined3d_cs_op
|
||||
@ -23,7 +23,7 @@ index 3208c35..f7a5c6e 100644
|
||||
WINED3D_CS_OP_STOP,
|
||||
};
|
||||
|
||||
@@ -526,6 +527,11 @@ struct wined3d_cs_get_release_dc
|
||||
@@ -529,6 +530,11 @@ struct wined3d_cs_get_release_dc
|
||||
unsigned int sub_resource_idx;
|
||||
};
|
||||
|
||||
@ -35,7 +35,7 @@ index 3208c35..f7a5c6e 100644
|
||||
static void wined3d_cs_mt_submit(struct wined3d_cs *cs, size_t size)
|
||||
{
|
||||
LONG new_val = (cs->queue.head + size) & (WINED3D_CS_QUEUE_SIZE - 1);
|
||||
@@ -2660,6 +2666,28 @@ void wined3d_cs_emit_release_dc(struct wined3d_cs *cs, struct wined3d_texture *t
|
||||
@@ -2654,6 +2660,28 @@ void wined3d_cs_emit_release_dc(struct wined3d_cs *cs, struct wined3d_texture *t
|
||||
cs->ops->finish(cs);
|
||||
}
|
||||
|
||||
@ -64,7 +64,7 @@ index 3208c35..f7a5c6e 100644
|
||||
static UINT (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void *data) =
|
||||
{
|
||||
/* WINED3D_CS_OP_NOP */ wined3d_cs_exec_nop,
|
||||
@@ -2727,6 +2755,7 @@ static UINT (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
|
||||
@@ -2721,6 +2749,7 @@ static UINT (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
|
||||
/* WINED3D_CS_OP_SRV_DESTROY */ wined3d_cs_exec_shader_resource_view_destroy,
|
||||
/* WINED3D_CS_OP_GET_DC */ wined3d_cs_exec_get_dc,
|
||||
/* WINED3D_CS_OP_RELEASE_DC */ wined3d_cs_exec_release_dc,
|
||||
@ -73,7 +73,7 @@ index 3208c35..f7a5c6e 100644
|
||||
|
||||
static inline void *_wined3d_cs_mt_require_space(struct wined3d_cs *cs, size_t size, BOOL prio)
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index fd12f05..c36db50 100644
|
||||
index 7000cd0..9483e49 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -664,7 +664,7 @@ out:
|
||||
@ -83,9 +83,9 @@ index fd12f05..c36db50 100644
|
||||
-static void create_dummy_textures(struct wined3d_device *device, struct wined3d_context *context)
|
||||
+void device_create_dummy_textures(struct wined3d_device *device, struct wined3d_context *context)
|
||||
{
|
||||
const struct wined3d_d3d_info *d3d_info = &device->adapter->d3d_info;
|
||||
const struct wined3d_gl_info *gl_info = &device->adapter->gl_info;
|
||||
unsigned int i, j, count;
|
||||
@@ -1032,17 +1032,15 @@ HRESULT CDECL wined3d_device_init_3d(struct wined3d_device *device,
|
||||
@@ -1036,17 +1036,15 @@ HRESULT CDECL wined3d_device_init_3d(struct wined3d_device *device,
|
||||
device->swapchains[0] = swapchain;
|
||||
device_init_swapchain_state(device, swapchain);
|
||||
|
||||
@ -105,7 +105,7 @@ index fd12f05..c36db50 100644
|
||||
/* Clear the screen */
|
||||
if (swapchain->back_buffers && swapchain->back_buffers[0])
|
||||
clear_flags |= WINED3DCLEAR_TARGET;
|
||||
@@ -4563,7 +4561,7 @@ static HRESULT create_primary_opengl_context(struct wined3d_device *device, stru
|
||||
@@ -4602,7 +4600,7 @@ static HRESULT create_primary_opengl_context(struct wined3d_device *device, stru
|
||||
|
||||
swapchain->context[0] = context;
|
||||
swapchain->num_contexts = 1;
|
||||
@ -115,10 +115,10 @@ index fd12f05..c36db50 100644
|
||||
context_release(context);
|
||||
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 2ae0f2c..dc55ba0 100644
|
||||
index 5363027..113ed8b 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2385,7 +2385,7 @@ struct wined3d_gl_bo *wined3d_device_get_bo(struct wined3d_device *device, UINT
|
||||
@@ -2406,7 +2406,7 @@ struct wined3d_gl_bo *wined3d_device_get_bo(struct wined3d_device *device, UINT
|
||||
GLenum type_hint, struct wined3d_context *context) DECLSPEC_HIDDEN;
|
||||
void wined3d_device_release_bo(struct wined3d_device *device, struct wined3d_gl_bo *bo,
|
||||
const struct wined3d_context *context) DECLSPEC_HIDDEN;
|
||||
@ -127,7 +127,7 @@ index 2ae0f2c..dc55ba0 100644
|
||||
|
||||
static inline BOOL isStateDirty(const struct wined3d_context *context, DWORD state)
|
||||
{
|
||||
@@ -3069,6 +3069,7 @@ void wined3d_cs_emit_get_dc(struct wined3d_cs *cs, struct wined3d_texture *textu
|
||||
@@ -3085,6 +3085,7 @@ void wined3d_cs_emit_get_dc(struct wined3d_cs *cs, struct wined3d_texture *textu
|
||||
unsigned int sub_resource_idx) DECLSPEC_HIDDEN;
|
||||
void wined3d_cs_emit_release_dc(struct wined3d_cs *cs, struct wined3d_texture *texture,
|
||||
unsigned int sub_resource_idx) DECLSPEC_HIDDEN;
|
||||
|
@ -1,18 +1,18 @@
|
||||
From 62b6bf2eaabdab0324a7d1e80599983a08ac40d7 Mon Sep 17 00:00:00 2001
|
||||
From 599f955bdd8f68dfd55f473491f9d22dcb4448c8 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefandoesinger@gmx.at>
|
||||
Date: Sat, 7 May 2016 21:16:47 +0100
|
||||
Subject: wined3d: Call create_default_sampler from create_dummy_textures.
|
||||
|
||||
I should really rename it, don't feel like it now.
|
||||
---
|
||||
dlls/wined3d/device.c | 64 +++++++++++++++++++++++----------------------------
|
||||
1 file changed, 29 insertions(+), 35 deletions(-)
|
||||
dlls/wined3d/device.c | 62 +++++++++++++++++++++++----------------------------
|
||||
1 file changed, 28 insertions(+), 34 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index 32eb155..82da763 100644
|
||||
index 67a1c75..b8be31b 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -664,6 +664,33 @@ out:
|
||||
@@ -664,6 +664,32 @@ out:
|
||||
}
|
||||
|
||||
/* Context activation is done by the caller. */
|
||||
@ -27,7 +27,6 @@ index 32eb155..82da763 100644
|
||||
+ * sampler object is used to emulate the direct resource access when there is no sampler state
|
||||
+ * to use.
|
||||
+ */
|
||||
+
|
||||
+ if (gl_info->supported[ARB_SAMPLER_OBJECTS])
|
||||
+ {
|
||||
+ GL_EXTCALL(glGenSamplers(1, &device->default_sampler));
|
||||
@ -45,8 +44,8 @@ index 32eb155..82da763 100644
|
||||
+/* Context activation is done by the caller. */
|
||||
void device_create_dummy_textures(struct wined3d_device *device, struct wined3d_context *context)
|
||||
{
|
||||
const struct wined3d_gl_info *gl_info = &device->adapter->gl_info;
|
||||
@@ -751,6 +778,8 @@ void device_create_dummy_textures(struct wined3d_device *device, struct wined3d_
|
||||
const struct wined3d_d3d_info *d3d_info = &device->adapter->d3d_info;
|
||||
@@ -756,6 +782,8 @@ void device_create_dummy_textures(struct wined3d_device *device, struct wined3d_
|
||||
checkGLcall("glTexImage3D");
|
||||
}
|
||||
}
|
||||
@ -55,7 +54,7 @@ index 32eb155..82da763 100644
|
||||
}
|
||||
|
||||
/* Context activation is done by the caller. */
|
||||
@@ -793,33 +822,6 @@ static void destroy_dummy_textures(struct wined3d_device *device, const struct w
|
||||
@@ -798,32 +826,6 @@ static void destroy_dummy_textures(struct wined3d_device *device, const struct w
|
||||
}
|
||||
|
||||
/* Context activation is done by the caller. */
|
||||
@ -70,7 +69,6 @@ index 32eb155..82da763 100644
|
||||
- * sampler object is used to emulate the direct resource access when there is no sampler state
|
||||
- * to use.
|
||||
- */
|
||||
-
|
||||
- if (gl_info->supported[ARB_SAMPLER_OBJECTS])
|
||||
- {
|
||||
- GL_EXTCALL(glGenSamplers(1, &device->default_sampler));
|
||||
@ -89,7 +87,7 @@ index 32eb155..82da763 100644
|
||||
static void destroy_default_sampler(struct wined3d_device *device)
|
||||
{
|
||||
const struct wined3d_gl_info *gl_info = &device->adapter->gl_info;
|
||||
@@ -973,7 +975,6 @@ HRESULT CDECL wined3d_device_init_3d(struct wined3d_device *device,
|
||||
@@ -977,7 +979,6 @@ HRESULT CDECL wined3d_device_init_3d(struct wined3d_device *device,
|
||||
{
|
||||
static const struct wined3d_color black = {0.0f, 0.0f, 0.0f, 0.0f};
|
||||
struct wined3d_swapchain *swapchain = NULL;
|
||||
@ -97,7 +95,7 @@ index 32eb155..82da763 100644
|
||||
DWORD clear_flags = 0;
|
||||
HRESULT hr;
|
||||
|
||||
@@ -1033,9 +1034,6 @@ HRESULT CDECL wined3d_device_init_3d(struct wined3d_device *device,
|
||||
@@ -1037,9 +1038,6 @@ HRESULT CDECL wined3d_device_init_3d(struct wined3d_device *device,
|
||||
device_init_swapchain_state(device, swapchain);
|
||||
|
||||
wined3d_cs_emit_create_dummy_textures(device->cs);
|
||||
@ -107,7 +105,7 @@ index 32eb155..82da763 100644
|
||||
|
||||
device->contexts[0]->last_was_rhw = 0;
|
||||
|
||||
@@ -4521,7 +4519,6 @@ static void delete_opengl_contexts(struct wined3d_device *device, struct wined3d
|
||||
@@ -4560,7 +4558,6 @@ static void delete_opengl_contexts(struct wined3d_device *device, struct wined3d
|
||||
|
||||
static HRESULT create_primary_opengl_context(struct wined3d_device *device, struct wined3d_swapchain *swapchain)
|
||||
{
|
||||
@ -115,7 +113,7 @@ index 32eb155..82da763 100644
|
||||
HRESULT hr;
|
||||
|
||||
if (FAILED(hr = device->shader_backend->shader_alloc_private(device,
|
||||
@@ -4548,9 +4545,6 @@ static HRESULT create_primary_opengl_context(struct wined3d_device *device, stru
|
||||
@@ -4587,9 +4584,6 @@ static HRESULT create_primary_opengl_context(struct wined3d_device *device, stru
|
||||
}
|
||||
|
||||
wined3d_cs_emit_create_dummy_textures(device->cs);
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user