Module: wine
Branch: master
Commit: 3fbdb64270a48163e96195495fb828299096f5ec
URL: http://source.winehq.org/git/wine.git/?a=commit;h=3fbdb64270a48163e96195495…
Author: Stefan Dösinger <stefan(a)codeweavers.com>
Date: Mon Feb 23 19:27:13 2009 +0100
wined3d: Update a comment.
shader_select takes care of compiling the shader since we have the shader
duplication infrastructure. However, there's still a motivation to skip the
shader_select call if the vertex shader is dirty.
---
dlls/wined3d/arb_program_shader.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index ee7ab90..1bebb21 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -3045,8 +3045,8 @@ static void fragment_prog_arbfp(DWORD state, IWineD3DStateBlockImpl *stateblock,
* type overwrites GL_ARB_fragment_program. This is currently the case with GLSL. If we really want to use
* atifs or nvrc pixel shaders with arb fragment programs we'd have to disable GL_FRAGMENT_PROGRAM_ARB here
*
- * Don't call shader_select if the vertex shader is dirty, because some shader backends(GLSL) need both shaders
- * to be compiled before activating them(needs some cleanups in the shader backend interface)
+ * Don't call shader_select if the vertex shader is dirty, because it will be called later on by the vertex
+ * shader handler
*/
if(!isStateDirty(context, device->StateTable[STATE_VSHADER].representative)) {
device->shader_backend->shader_select((IWineD3DDevice *)stateblock->wineD3DDevice, use_pshader, use_vshader);
Module: wine
Branch: master
Commit: fac749634521e085353fee7fe285fdbeffe1b6d8
URL: http://source.winehq.org/git/wine.git/?a=commit;h=fac749634521e085353fee7fe…
Author: Eric Pouech <eric.pouech(a)orange.fr>
Date: Sun Mar 29 17:21:55 2009 +0200
winedbg: Fix the way array derefs are done.
---
programs/winedbg/types.c | 18 +++++++++---------
1 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/programs/winedbg/types.c b/programs/winedbg/types.c
index ef5469f..8d3dabc 100644
--- a/programs/winedbg/types.c
+++ b/programs/winedbg/types.c
@@ -310,26 +310,26 @@ BOOL types_array_index(const struct dbg_lvalue* lvalue, int index,
DWORD64 length;
if (!types_get_real_type(&type, &tag)) return FALSE;
+ /* Contents of array share same data (addr mode, module...) */
+ *result = *lvalue;
switch (tag)
{
case SymTagArrayType:
types_get_info(&type, TI_GET_COUNT, &count);
if (index < 0 || index >= count) return FALSE;
- /* fall through */
+ break;
case SymTagPointerType:
- /* Contents of array share same data (addr mode, module...) */
- *result = *lvalue;
- /*
- * Get the base type, so we know how much to index by.
- */
- types_get_info(&type, TI_GET_TYPE, &result->type.id);
- types_get_info(&result->type, TI_GET_LENGTH, &length);
memory_read_value(lvalue, sizeof(result->addr.Offset), &result->addr.Offset);
- result->addr.Offset += index * (DWORD)length;
break;
default:
assert(FALSE);
}
+ /*
+ * Get the base type, so we know how much to index by.
+ */
+ types_get_info(&type, TI_GET_TYPE, &result->type.id);
+ types_get_info(&result->type, TI_GET_LENGTH, &length);
+ result->addr.Offset += index * (DWORD)length;
return TRUE;
}