Commit Graph

4647 Commits

Author SHA1 Message Date
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