Henri Verbeet
7363b0e98a
wined3d: Explicitly pass data and gl_info to shader_deselect_depth_blt().
2010-11-30 10:57:23 +01:00
Henri Verbeet
93a824d744
wined3d: Explicitly pass data and gl_info to shader_select_depth_blt().
2010-11-30 10:57:17 +01:00
Henri Verbeet
363d8a316e
wined3d: Pass an IWineD3DDeviceImpl pointer to drawPrimitive().
2010-11-30 10:57:10 +01:00
Henri Verbeet
6476ef599d
wined3d: Pass an IWineD3DDeviceImpl pointer to drawStridedSlow().
2010-11-30 10:57:01 +01:00
Marcus Meissner
5d657bfdba
wined3d: Detect nouveau as NVIDIA.
2010-11-29 19:43:35 +01:00
Christian Inci
4229b1f3b6
wined3d: Add nVidia GT 320M to the table.
2010-11-26 14:58:39 +01:00
Austin English
90f428cd85
wined3d: Add detection for Nvidia GT 330.
2010-11-23 14:16:21 +01:00
Henri Verbeet
a147fd9c36
wined3d: Fix the indentation in buffer_direct_upload().
2010-11-23 13:15:39 +01:00
Henri Verbeet
03f7a2d88e
wined3d: Get rid of the remaining "Flags".
2010-11-23 13:15:36 +01:00
Henri Verbeet
b459b917fb
wined3d: Textures never have a resource size.
...
They're just containers for their subresources.
2010-11-23 13:15:32 +01:00
Henri Verbeet
4f651808fc
wined3d: Disallow empty surfaces.
2010-11-18 12:37:36 +01:00
Henri Verbeet
faba8d734d
wined3d: Send a notification that the GL texture changed in flip_surface().
...
Strictly speaking the texture doesn't get unloaded, but it does get associated
with a different surface. The FBO cache in particular is much happier when it
gets notified of these.
2010-11-17 14:01:14 +01:00
Henri Verbeet
fadd192cba
wined3d: buffer_get_sysmem() potentially invalidates the current element array buffer binding.
...
This fixes a regression introduced by commit
2a7a237170
.
2010-11-16 13:48:46 +01:00
Henri Verbeet
4dc28005eb
wined3d: Remove a redundant flag in IWineD3DSurfaceImpl_SetMem().
2010-11-16 13:48:42 +01:00
Henri Verbeet
745126b05d
wined3d: Properly recreate the sysmem resource location in IWineD3DSurfaceImpl_SetMem().
...
Otherwise we could end up with surfaces that have SFLAG_INSYSMEM set, but no
actual system memory allocated. This was exposed by
3bbe658ef1
.
2010-11-15 15:04:41 +01:00
Henri Verbeet
44b9712cd6
wined3d: Add a trace to IWineD3DSurfaceImpl_SetMem().
2010-11-15 15:04:36 +01:00
Henri Verbeet
60b5dc04b7
wined3d: Rename the IWineD3DPaletteImpl "Flags" field to "flags".
2010-11-15 15:04:32 +01:00
Henri Verbeet
efb185dcd5
wined3d: Rename the wined3d_format "Flags" field to "flags".
2010-11-12 15:43:08 +01:00
Henri Verbeet
027fdb31c2
wined3d: Rename the IWineD3DSurfaceImpl "Flags" field to "flags".
2010-11-12 15:43:07 +01:00
Henri Verbeet
a59ee29dec
wined3d: Simplify a condition in IWineD3DSurfaceImpl_LoadTexture().
2010-11-12 15:43:07 +01:00
Henri Verbeet
4bd1f04fbd
wined3d: Check for depth/stencil surfaces in general in IWineD3DSurfaceImpl_Unmap().
...
Instead of just the current one.
2010-11-12 15:43:07 +01:00
Henri Verbeet
db013ed213
wined3d: Avoid marking samplers dirty in IWineD3DSurfaceImpl_Unmap().
...
Resources are explicitly loaded in context_apply_draw_state() when needed, the
resource location management takes care of all of this.
2010-11-12 15:43:07 +01:00
Henri Verbeet
3bbe658ef1
wined3d: Remove some useless code.
2010-11-11 13:11:37 +01:00
Henri Verbeet
78abb8ae07
wined3d: Simply use surface_modify_location() in IWineD3DSurfaceImpl_Map() with WINED3DLOCK_DISCARD.
...
The call to surface_add_dirty_rect() would have taken care of evicting the
other locations anyway, but we really shouldn't be touching the location flags
directly.
2010-11-11 13:11:34 +01:00
Henri Verbeet
d3fd7b247b
wined3d: Handle rendertargetlock_mode in surface_load_location().
2010-11-11 13:11:30 +01:00
Henri Verbeet
1fa19d8e42
wined3d: Take the location into account in context_apply_fbo_state_blit().
2010-11-11 13:11:26 +01:00
Jaime Rave
6bf3f67c01
wined3d: Added Intel GM45 video card detection.
2010-11-11 13:08:25 +01:00
Henri Verbeet
7a354177b3
wined3d: Don't unregister a window unless the window proc is what we expect it to be.
...
In particular, if we'd unregister a window when the application replaced our
window proc, but still forwards to us, we'd create a loop when we register
the same window again later.
2010-11-10 12:19:24 +01:00
Henri Verbeet
9a1fddb0fd
wined3d: Register a window only once.
2010-11-10 12:19:16 +01:00
Henri Verbeet
4503d0cb4b
wined3d: Use a lookup table in select_card_ati_binary().
2010-11-10 12:18:54 +01:00
Henri Verbeet
3bb40b0776
wined3d: Use lookup tables in select_card_nvidia_binary().
2010-11-09 14:21:00 +01:00
Henri Verbeet
a9da30dc5f
wined3d: Use lookup tables in select_card_ati_mesa().
2010-11-09 14:20:51 +01:00
Henri Verbeet
bed0266a8c
wined3d: Recognize Evergreen in select_card_ati_mesa().
2010-11-09 14:20:42 +01:00
Henri Verbeet
50b76b76cb
wined3d: Test for "AMD" in the renderer string as well to detect AMD cards.
...
Specifically, the Gallium r600 driver reports "X.Org" for vendor and a string
of the form "Gallium 0.4 on AMD RV730" for the renderer.
2010-11-08 13:31:09 +01:00
Henri Verbeet
7a64870014
wined3d: Don't use floating point textures without ARB_texture_float.
...
The floating point formats from ARB_texture_rg are only defined when
ARB_texture_float is also supported. It would have been nice if the formats
table itself was able to express this, but as far as I'm aware this is only an
issue for ARB_texture_rg, so it's probably not worth changing.
2010-11-08 13:30:59 +01:00
Henri Verbeet
7e3985e1fe
ddraw: Setup the device window in SetCooperativeLevel().
2010-11-08 13:30:54 +01:00
Henri Verbeet
b898130a11
wined3d: Do not activate the window when restoring the styles.
...
This is consistent with device_setup_fullscreen_window(), and ddraw actually
has a test for this in ddrawmodes.c. (Although it doesn't actually use
device_setup_fullscreen_window() until the next patch.)
2010-11-08 13:30:46 +01:00
Henri Verbeet
45cee64295
wined3d: Move the fullscreen window setup / restore code to the device.
2010-11-08 13:30:40 +01:00
Henri Verbeet
feaf81f60d
wined3d: Use SetWindowPos() to make the focus window active.
2010-11-05 17:15:37 +01:00
Henri Verbeet
f0b0c1b1dd
wined3d: Add support for the INTZ format.
2010-11-05 17:15:36 +01:00
Michael Stefaniuc
1183383a6f
wined3d: Fix some checkGLcall() messages.
2010-11-05 17:15:34 +01:00
Michael Stefaniuc
809741d5ae
wined3d: Move the checkGLcall() right after the corresponding GL call.
2010-11-05 17:15:34 +01:00
Henri Verbeet
8e059205ba
wined3d: Translate drawable coordinates in flush_to_framebuffer_drawpixels().
2010-11-02 13:17:35 +01:00
Henri Verbeet
3f0d16c5bf
wined3d: Do not use "lockedRect" unless the surface is locked in flush_to_framebuffer_drawpixels().
2010-11-02 13:17:31 +01:00
Henri Verbeet
b66478dfbc
wined3d: Set an A window proc on non-unicode windows.
2010-11-02 13:17:25 +01:00
Francois Gouget
b990617a95
Assorted spelling fixes.
2010-11-02 13:16:57 +01:00
Henri Verbeet
e35b6aa1a7
wined3d: Change surface_translate_frontbuffer_coords() to handle all drawable coordinates.
2010-11-01 13:34:43 +01:00
Stefan Dösinger
f89fdb4429
wined3d: Don't reapply lighting when vertex shaders are used.
...
If a vertex shader is used the GL_LIGHTING state is ignored. If the
shader is turned off state_vdecl is called anyway, so it will adjust the
lighting state to match the available fixed function vertex attributes.
2010-11-01 11:43:45 +01:00
Stefan Dösinger
7173a56161
wined3d: Don't change GL_TEXTURE* when using the arb fragment pipeline.
2010-11-01 11:43:39 +01:00
Stefan Dösinger
5082c57e77
wined3d: Don't pass the texture stages to basetexture_apply_state_changes.
2010-11-01 11:43:35 +01:00
Henri Verbeet
27bf4c3747
wined3d: Remove some redundant state save/restore code from flush_to_framebuffer_drawpixels().
2010-10-29 14:33:57 +02:00
Henri Verbeet
7414ebc975
wined3d: Don't flip the coordinate system in set_blit_dimension().
2010-10-29 14:33:57 +02:00
Henri Verbeet
1e301027dc
wined3d: Only complain about unsupported filtering if we have a reason to.
2010-10-29 14:33:56 +02:00
Henri Verbeet
e832b57a15
wined3d: Move loop state to wined3d_shader_context.
2010-10-29 14:33:56 +02:00
Henri Verbeet
8a4a76f9a7
wined3d: Move "parse_state" to wined3d_shader_context.
2010-10-29 14:33:56 +02:00
Henri Verbeet
f216dba1e3
wined3d: Access reg_maps though ins->ctx in get_loop_control_const().
2010-10-28 18:18:12 +02:00
Henri Verbeet
5b36e29298
wined3d: Access reg_maps though ins->ctx in get_bool_const().
2010-10-28 18:18:12 +02:00
Henri Verbeet
ac2805e5b3
wined3d: Access reg_maps though ins->ctx in shader_hw_mov().
2010-10-28 18:18:12 +02:00
Henri Verbeet
6c5caf7a8b
wined3d: Access reg_maps though ins->ctx in shader_arb_get_register_name().
2010-10-28 18:18:11 +02:00
Henri Verbeet
3a41bbdd71
wined3d: Access reg_maps though ins->ctx in shader_glsl_get_register_name().
...
This is all part of the ongoing work to make the shader backend interface less
dependent on wined3d internals.
2010-10-28 18:18:11 +02:00
Henri Verbeet
5e24ccfd0c
wined3d: Read transform flags from the compile args in pshader_hw_texm3x3spec().
2010-10-27 12:11:49 +02:00
Henri Verbeet
8f5bb62769
wined3d: Read transform flags from the compile args in pshader_hw_texm3x3vspec().
2010-10-27 12:11:45 +02:00
Henri Verbeet
f624d8f7b6
wined3d: Read transform flags from the compile args in pshader_hw_texm3x3tex().
2010-10-26 11:58:34 +02:00
Henri Verbeet
db156977dd
wined3d: Read transform flags from the compile args in pshader_hw_texm3x2tex().
...
Instead of directly from the stateblock. Note that the GLSL backend doesn't
take these flags into account at all. That's probably a bug in the GLSL
backend, but needs tests.
2010-10-26 11:58:31 +02:00
Henri Verbeet
8c36e4ce1d
wined3d: Explicitly pass parameters to shader_arb_ps_local_constants().
2010-10-26 11:58:23 +02:00
Henri Verbeet
5afb593cb2
wined3d: Explicitly pass parameters to shader_arb_vs_local_constants().
2010-10-26 11:58:19 +02:00
Henri Verbeet
1b2f9d29d7
wined3d: Get rid of the posFixup field from the device.
2010-10-26 11:58:12 +02:00
Henri Verbeet
5ef7a8c242
wined3d: Explicitly pass parameters to shader_load_np2fixup_constants().
2010-10-25 14:29:37 +02:00
Henri Verbeet
6dd9109358
wined3d: Pass a sub-resource index instead of a face + miplevel to cube texture methods.
2010-10-25 14:29:31 +02:00
Henri Verbeet
f0a0714ecd
wined3d: Pass a sub-resource index instead of a miplevel to 2D texture methods.
2010-10-25 14:29:21 +02:00
Henri Verbeet
7f8ea7fffc
wined3d: Pass a sub-resource index instead of a miplevel to volume texture methods.
...
For volume textures this is mostly just a conceptual change, it'll only make a
difference for texture arrays and cube textures.
2010-10-21 16:15:38 +02:00
Henri Verbeet
2b58f80c27
wined3d: Use surface_blt_to_drawable() in IWineD3DSurfaceImpl_BltOverride().
2010-10-21 16:15:31 +02:00
Henri Verbeet
574169174e
wined3d: Check if we can do the blit before messing with surface flags in IWineD3DSurfaceImpl_BltOverride().
...
As an added benefit blit_supported() will now get the rectangles in the
correct coordinate system.
2010-10-21 16:15:25 +02:00
Henri Verbeet
b0c8b4dd95
wined3d: Flip destination coordinates when blitting to an offscreen target in arbfp_blit_surface().
2010-10-21 16:15:20 +02:00
Henri Verbeet
d508a855c1
wined3d: Recognize the SM4 sqrt opcode.
2010-10-20 18:37:07 +02:00
Henri Verbeet
58ecf706e2
wined3d: Handle WINED3DFMT_R10G10B10A2_UNORM in getColorBits().
2010-10-20 18:37:07 +02:00
Henri Verbeet
53f2765445
wined3d: Remove a FIXME in context_apply_blit_state().
...
There are some legitimate cases for this codepath, for example when blitting
to a render target with fixups or a color key.
2010-10-19 13:50:17 +02:00
Henri Verbeet
1237e8065e
wined3d: Properly flip in surface_blt_to_drawable().
...
We want to flip the coordinate system, not just the rectangle.
2010-10-19 13:50:13 +02:00
Henri Verbeet
8a96a8cc1f
wined3d: Always pass a valid rectangle to surface_get_blt_info().
2010-10-19 13:50:09 +02:00
Henri Verbeet
ca381b610c
wined3d: Allow FBO blits again between surfaces with fixups if they have the same format.
...
For some reason f1ca14cb5b
disabled this.
2010-10-19 13:50:01 +02:00
Henri Verbeet
70f4e66f84
wined3d: IWineD3DBuffer_Unmap() can't fail.
2010-10-15 16:19:54 +02:00
Henri Verbeet
1fa3365832
wined3d: Flip destination coordinates when blitting to an offscreen target in BltOverride().
2010-10-15 16:19:50 +02:00
Henri Verbeet
95469309d6
wined3d: Consistently use Map/Unmap for mapping resources.
2010-10-14 17:54:52 +02:00
Henri Verbeet
4eb8fd7960
wined3d: Recognize the SM4 sample_d opcode.
2010-10-14 17:54:52 +02:00
Henri Verbeet
e54d9afbc3
wined3d: Recognize the SM4 ABS and NEG source modifiers.
2010-10-13 13:00:39 +02:00
Henri Verbeet
50f6fbadb0
wined3d: Recognize the SM4 ld opcode.
2010-10-13 13:00:30 +02:00
Henri Verbeet
7c6658f970
wined3d: Recognize the SM4 ieq opcode.
2010-10-13 13:00:26 +02:00
Henri Verbeet
a9e3058426
wined3d: Recognize the SM4 ftoi opcode.
2010-10-13 13:00:22 +02:00
Henri Verbeet
b53d346d35
wined3d: Recognize the SM4 div opcode.
2010-10-13 13:00:17 +02:00
Henri Verbeet
5eb7a44a2e
wined3d: Skip SM4 instruction modifiers.
2010-10-12 17:36:40 +02:00
Henri Verbeet
0e4e196979
wined3d: Skip SM4 source register modifiers.
2010-10-12 17:36:36 +02:00
Henri Verbeet
916167e93a
wined3d: Recognize the SM4 resource register type.
2010-10-12 17:36:30 +02:00
Henri Verbeet
6cbf1dd4b5
wined3d: Recognize the SM4 sampler register type.
2010-10-12 17:36:27 +02:00
Henri Verbeet
3c45bba11e
wined3d: Add traces to IWineD3DDeviceImpl_AcquireFocusWindow() / IWineD3DDeviceImpl_ReleaseFocusWindow().
2010-10-11 17:11:34 +02:00
Henri Verbeet
ff9c2fcdb2
wined3d: Recognize the SM4 utof opcode.
2010-10-11 17:11:28 +02:00
Henri Verbeet
18d7a73af8
wined3d: Recognize the SM4 sample_l opcode.
2010-10-11 17:11:28 +02:00
Henri Verbeet
407ed1b875
wined3d: Recognize the SM4 sample opcode.
2010-10-11 17:11:28 +02:00
Henri Verbeet
b2f520b5f0
wined3d: Recognize the SM4 itof opcode.
2010-10-11 17:11:28 +02:00
Henri Verbeet
1fe1676ae9
wined3d: SM4 immediate constants are typeless.
2010-10-08 15:26:42 +02:00
Henri Verbeet
3e45fe7488
wined3d: The SM4 sincos opcode has two destination arguments.
2010-10-08 15:26:37 +02:00