Commit Graph

5622 Commits

Author SHA1 Message Date
Henri Verbeet 00ba167c71 wined3d: Introduce a separate function for parsing the GL extension string. 2012-03-16 11:08:49 +01:00
Henri Verbeet 02ae22d984 wined3d: The current WGL DC should never be NULL in wined3d_adapter_init_gl_caps(). 2012-03-16 11:08:42 +01:00
Henri Verbeet 6396ad9e45 wined3d: GL_MAX_TEXTURE_COORDS_ARB is not available without ARB_fragment_program. 2012-03-12 10:44:01 +01:00
Henri Verbeet 112e2e219f wined3d: Also recognise the "classic" Mesa Nouveau driver for GeForce 4 and earlier cards. 2012-03-12 10:44:00 +01:00
Henri Verbeet ab4474c19b wined3d: surface_cpu_blt() should always receive valid source and destination rectangles. 2012-03-12 10:44:00 +01:00
Henri Verbeet 29468906bb wined3d: Pass correctly offset pointers to surface_cpu_blt_compressed().
This was debugged by Alexey Loukianov.
2012-03-12 10:43:59 +01:00
Matteo Bruni 4ed605f081 wined3d: Clamp fog coordinate in the ARB backend too. 2012-03-09 17:26:01 +01:00
Matteo Bruni 2d810bdc89 wined3d: Clamp fog coordinate in the vertex shader. 2012-03-09 17:25:57 +01:00
Henri Verbeet 06aab27197 wined3d: Remove a texture dimension check in state_alpha().
I don't think there's any reason color-keying shouldn't work on e.g. cube
textures, although it probably isn't very common either.
2012-03-09 11:32:22 +01:00
Henri Verbeet 6eb5c891ac wined3d: Use ARB_texture_rg for WINED3DFMT_R16G16_UNORM textures when available. 2012-03-09 11:32:16 +01:00
Henri Verbeet b8a22ebef0 wined3d: Remove an outdated comment from load_vertex_data(). 2012-03-08 17:58:02 +01:00
Henri Verbeet 3d5ca7ab64 wined3d: Remove an outdated comment in state_zwritenable().
We actually do have tests for this.
2012-03-08 17:57:58 +01:00
Henri Verbeet 6d483c2d9d wined3d: Don't use floating point for surface height scaling.
This is the follow-up to commit a4e5bcff4c.
2012-03-08 17:57:54 +01:00
Henri Verbeet 639ea0f49c wined3d: Remove a transformed vertex loading hack in load_vertex_data().
This should never be used, we fall back to drawStridedSlow() for transformed vertices.
2012-03-08 17:57:46 +01:00
Henri Verbeet 90739d9474 wined3d: Implement resetting the device window in wined3d_device_reset(). 2012-02-29 20:47:29 +01:00
Henri Verbeet 9c25758656 wined3d: Support color keyed WINED3DFMT_B8G8R8A8_UNORM surfaces.
Color keying and alpha channels aren't mutually exclusive.
2012-02-29 10:31:09 +01:00
Henri Verbeet d17f037fb1 wined3d: Disable z-clipping for transformed vertices when WINED3D_RS_ZENABLE is disabled. 2012-02-24 09:55:52 +01:00
Gaurav Jain b2eadfd4eb wined3d: Recognize Nvidia GeForce 320M, 8600M GT & 9400M. 2012-02-22 20:49:11 +01:00
Henri Verbeet 80555d2cb8 wined3d: Specify the depth range in surface_depth_blt(). 2012-02-22 18:47:30 +01:00
Henri Verbeet ed47f259bd wined3d: Don't take the wined3d mutex during WM_DISPLAYCHANGE either. 2012-02-21 11:30:10 +01:00
Henri Verbeet a4e5bcff4c wined3d: Use a format flag instead of a floating point comparison to determine if we need to apply heightscale. 2012-02-13 20:20:08 +01:00
Henri Verbeet 56a4680b69 wined3d: Complain when the hardware may not be able to run a shader. 2012-02-06 10:19:30 -06:00
Matteo Bruni b51a657626 wined3d: Use a separate flag for discarded surfaces. 2012-02-02 15:18:09 +01:00
Henri Verbeet 348c655b5c wined3d: Make sure transparent hardware cursors are really transparent.
Loosely based on a patch by Stefan Dösinger.
2012-01-27 14:57:55 +01:00
Henri Verbeet faa040cd9e wined3d: Clear the device if we're not removing the entry from the table in wined3d_unregister_window().
The device may be destroyed after the window is unregistered, causing
device_process_message() to access freed memory.
2012-01-26 17:43:50 +01:00
Henri Verbeet d0347f51ed wined3d: Only take the wined3d mutex during the WM_DISPLAYCHANGE handler in device_process_message().
We can deadlock if we send messages while holding the wined3d mutex and the
message loop is on another thread. Ideally we probably shouldn't send messages
while holding the wined3d mutex at all, but that may be hard to enforce with
the way wined3d locking is currently set up.
2012-01-25 11:25:04 +01:00
Matteo Bruni f69f2aa347 wined3d: SM1 texture projection always divides by w when there is a vertex shader set. 2012-01-24 11:55:47 +01:00
Henri Verbeet 41c910d5f0 wined3d: Get rid of the vertex buffer conversion hack in process_vertices_strided().
The main thing that's broken is the unnecessary color conversion in case bgra
vertex arrays are supported. It shouldn't be hard to fix that, but at this
point I don't think this hack even helps a lot anymore.
2012-01-24 11:55:33 +01:00
Stefan Dösinger 038e308a41 wined3d: Relax depth blit requirements. 2012-01-23 16:06:55 +01:00
Henri Verbeet 1ec21e323b wined3d: Rename WineD3DRectPatch to wined3d_rect_patch. 2012-01-20 13:31:36 +01:00
Henri Verbeet 3769afa33d wined3d: Get rid of the WINED3DSURFTYPE typedef. 2012-01-20 13:31:33 +01:00
Henri Verbeet d8b00ecf34 wined3d: Get rid of the CONVERT_TYPES typedef. 2012-01-20 13:31:24 +01:00
Henri Verbeet 8692ff48a9 wined3d: Don't load the draw_binding location in surface_unmap() unless the surface is on a swapchain.
It really makes no sense to do this just because a surface happens to be the
current render target. In particular, this patch prevents needlessly bouncing
the surface between the CPU and the GPU when the application does e.g.
multiple colorkeyed blits to the current render target to draw a HUD.
2012-01-20 13:31:17 +01:00
Henri Verbeet d1254eddb5 wined3d: Properly enable / disable register combiners. 2012-01-20 13:31:07 +01:00
Matteo Bruni cf5bc7a711 wined3d: Dirtify STATE_FRAMEBUFFER after a FBO depth blit. 2012-01-19 17:08:09 +01:00
Henri Verbeet bee9adbd05 wined3d: Get rid of the WINED3DDECLUSAGE typedef. 2012-01-19 11:56:47 +01:00
Henri Verbeet c35c30fa68 wined3d: Get rid of the WINED3DDECLMETHOD typedef. 2012-01-19 11:56:41 +01:00
Henri Verbeet d0d094dea2 wined3d: Respect SFLAG_PIN_SYSMEM when creating a surface DIB section. 2012-01-19 11:56:30 +01:00
Henri Verbeet e1cd2453b9 wined3d: Get rid of the mostly unused blockType field in struct wined3d_stateblock. 2012-01-19 11:56:00 +01:00
Akihiro Sagawa bd97589dba wined3d: Let GetRasterStatus return D3D_OK, again. 2012-01-19 11:55:48 +01:00
Henri Verbeet ed417a6f13 wined3d: Get rid of the WINED3DSTATEBLOCKTYPE typedef. 2012-01-18 12:37:38 +01:00
Henri Verbeet ae2e5d65ff wined3d: Get rid of the WINED3DQUERYTYPE typedef. 2012-01-18 12:37:38 +01:00
Henri Verbeet e53a277305 wined3d: Get rid of the WINED3DPOOL typedef. 2012-01-18 12:37:38 +01:00
Henri Verbeet 6a5a098b23 wined3d: Get rid of the WINED3DRESOURCETYPE typedef. 2012-01-18 12:37:38 +01:00
Henri Verbeet c70e17e806 wined3d: Reset the changed float shader constants in stateblock_init_default_state().
The GLSL constant tracking needs these to be correct.
2012-01-18 12:37:37 +01:00
Henri Verbeet 59df293640 wined3d: Don't print an ERR if the depth/stencil surface still has references in wined3d_device_uninit_3d().
This is completely legitimate in ddraw.
2012-01-18 12:37:37 +01:00
Austin English fe30990e8d wined3d: Recognize Nvidia 540M. 2012-01-17 11:52:26 +01:00
Francois Gouget cbc7a0361e wined3d: Add a trailing '\n' to a FIXME() message. 2012-01-16 12:45:34 +01:00
Henri Verbeet e70990041b wined3d: Get rid of the WINED3DTEXTUREFILTERTYPE typedef. 2012-01-13 17:34:31 +01:00
Henri Verbeet a206f43648 wined3d: Get rid of wined3d_surface_set_format(). 2012-01-13 17:34:30 +01:00
Henri Verbeet afb64506ba ddraw: Implement width and height changes in ddraw_surface7_SetSurfaceDesc(). 2012-01-13 17:34:30 +01:00
Matteo Bruni c6c5c6905e wined3d: Handle discarded depth-stencil surfaces with SFLAG_LOST.
SFLAG_INSYSMEM is already set by surface_add_dirty_rect() for all
surfaces anyway.
2012-01-13 17:34:30 +01:00
Matteo Bruni cbf641e9e0 wined3d: Modify depth-stencil location flags only after allocating the new location. 2012-01-13 17:34:30 +01:00
Matteo Bruni add5916c77 wined3d: Set depth textures dirty after modifying the underlying surface. 2012-01-13 17:34:30 +01:00
Henri Verbeet 7dac3e0921 wined3d: Get rid of the WINED3DBASISTYPE typedef. 2012-01-12 12:37:24 +01:00
Henri Verbeet f38e94af7c wined3d: Get rid of the WINED3DTRANSFORMSTATETYPE typedef. 2012-01-12 12:37:18 +01:00
Henri Verbeet be3a9b5ecb wined3d: Hold the wined3d mutex in device_process_message(). 2012-01-12 12:35:50 +01:00
Diego Nieto Cid 759bad0202 wined3d: Convert rtInternal and glGammaInternal. 2012-01-11 19:42:50 +01:00
Henri Verbeet 2650ba4b17 wined3d: Get rid of the WINED3DTEXTUREADDRESS typedef. 2012-01-11 17:47:23 +01:00
Henri Verbeet b6431d9493 wined3d: Get rid of the WINED3DTEXTUREOP typedef. 2012-01-11 17:47:22 +01:00
Henri Verbeet b55e3d82cf wined3d: Set SFLAG_PIN_SYSMEM when the application tries to use surfaces that are currently mapped. 2012-01-11 12:32:55 +01:00
Matteo Bruni 1c14c0d2fc wined3d: Don't use separate location flags for depth buffers. 2012-01-10 10:48:26 +01:00
Matteo Bruni e4c0d6abbe wined3d: Don't try to remove the location flag if it's not there in the first place. 2012-01-10 10:48:13 +01:00
Henri Verbeet 7f7bc520b6 wined3d: Get rid of the WINED3DTEXTURETRANSFORMFLAGS typedef. 2012-01-10 10:47:30 +01:00
Henri Verbeet 43fcbcb36e wined3d: Get rid of the WINED3DTEXTURESTAGESTATETYPE typedef. 2012-01-10 10:47:27 +01:00
Henri Verbeet 40e8d85426 wined3d: Simplify transform flag handling in find_ps_compile_args(). 2012-01-10 10:47:17 +01:00
Henri Verbeet 9a8491045e wined3d: Get rid of the WINED3DMULTISAMPLE_TYPE typedef. 2012-01-09 12:22:17 +01:00
Henri Verbeet 08545dc739 wined3d: Get rid of the WINED3DSAMPLERSTATETYPE typedef. 2012-01-09 12:22:12 +01:00
Henri Verbeet f1e2c5df93 wined3d: Only flip SFLAG_DIBSECTION once in flip_surface().
We already swap all flags at a later point in flip_surface().
2012-01-09 12:22:03 +01:00
Henri Verbeet de807eb21c wined3d: Allow 10-bpc formats as render targets. 2012-01-09 12:21:53 +01:00
Henri Verbeet 3d33887c2f wined3d: Get rid of the WINED3DSWAPEFFECT typedef. 2012-01-06 19:24:22 +01:00
Henri Verbeet 45f6def784 wined3d: Get rid of the WINED3DBACKBUFFER_TYPE typedef. 2012-01-06 19:24:21 +01:00
Henri Verbeet c77b414787 wined3d: Get rid of the WINED3DPATCHEDGESTYLE typedef. 2012-01-05 20:54:25 +01:00
Henri Verbeet c3cc92e472 wined3d: Get rid of the WINED3DMATERIALCOLORSOURCE typedef. 2012-01-05 20:54:24 +01:00
Henri Verbeet fd8597b2bf wined3d: Get rid of the WINED3DSTENCILOP typedef. 2012-01-03 23:40:50 +01:00
Henri Verbeet 808e926783 wined3d: Get rid of the WINED3DCULL typedef. 2012-01-03 23:40:46 +01:00
Henri Verbeet a03eeb5cac wined3d: Get rid of the WINED3DFILLMODE typedef. 2012-01-03 12:37:31 +01:00
Henri Verbeet 16e9d728f4 wined3d: Get rid of the WINED3DSHADEMODE typedef. 2012-01-03 12:37:30 +01:00
Henri Verbeet 51d54a909c wined3d: Recognize some more Intel GPUs. 2012-01-03 12:37:29 +01:00
Henri Verbeet 1a3aabf6f2 wined3d: Recognize i915g as Intel. 2012-01-03 12:37:29 +01:00
Matteo Bruni fb38bad0c4 wined3d: Improve projection TEXTURETRANSFORMFLAGS handling in the ARB fragment ffp implementation. 2011-12-28 18:55:18 +01:00
Matteo Bruni 472fed41dd wined3d: Improve invalid TEXTURETRANSFORMFLAGS handling. 2011-12-28 18:55:15 +01:00
Henri Verbeet 6623a8cfa9 wined3d: Get rid of the WINED3DFOGMODE typedef. 2011-12-22 10:08:52 +01:00
Henri Verbeet 00096c82fd wined3d: Get rid of the WINED3DZBUFFERTYPE typedef. 2011-12-22 10:08:48 +01:00
Henri Verbeet 1ec609670f wined3d: Get rid of the WINED3DCMPFUNC typedef. 2011-12-21 10:14:54 +01:00
Henri Verbeet b79dc388c3 wined3d: Get rid of the WINED3DVERTEXBLENDFLAGS typedef. 2011-12-21 10:14:50 +01:00
Henri Verbeet 0feb72f000 wined3d: Handle client storage in surface_remove_pbo(). 2011-12-21 10:14:44 +01:00
Henri Verbeet 317d5406d5 wined3d: Handle client storage in surface_init_sysmem(). 2011-12-21 10:14:41 +01:00
Henri Verbeet b57d1e7c33 wined3d: Don't call surface_init_sysmem() on surfaces with a PBO. 2011-12-21 10:14:37 +01:00
Henri Verbeet 3082c1a9de wined3d: Get rid of the WINED3DRENDERSTATETYPE typedef. 2011-12-20 10:11:47 +01:00
Henri Verbeet 5bddd4427d wined3d: Get rid of the WINED3DDEGREETYPE typedef. 2011-12-20 10:11:39 +01:00
Henri Verbeet 969f3be73f wined3d: Get rid of the WINED3DBLENDOP typedef. 2011-12-19 20:15:49 +01:00
Henri Verbeet b39125d2f0 wined3d: Get rid of the WINED3DBLEND typedef. 2011-12-19 20:15:49 +01:00
Henri Verbeet 67bca436ee wined3d: Get rid of the WINED3DDEVTYPE typedef. 2011-12-13 18:58:58 +01:00
Henri Verbeet ebb85da5f7 wined3d: Get rid of the WINEDDCAPS typedef. 2011-12-13 18:58:58 +01:00
Henri Verbeet 943fcb0fc4 wined3d: Use the correct source pitch and byte_count for uploading converted surfaces. 2011-12-13 18:58:57 +01:00
Henri Verbeet e6fb4537f0 ddraw: Move clipper handling to ddraw. 2011-12-13 18:58:37 +01:00
Matteo Bruni 68e0cd430f wined3d: Ignore invalid texture transform flags. 2011-12-13 14:00:24 +01:00
Matteo Bruni fdd4df446f wined3d: Fix some flag checks. 2011-12-13 14:00:24 +01:00
Henri Verbeet e6a4a86608 wined3d: Get rid of the WINED3DPRIMITIVETYPE typedef. 2011-12-12 10:21:01 +01:00