Commit Graph

5721 Commits

Author SHA1 Message Date
Henri Verbeet 2a0463ac21 wined3d: Only filter redundant mode changes in wined3d. 2012-06-20 19:26:56 +02:00
Henri Verbeet a6ffab3bf5 wined3d: Rename WINED3DLOCK_* to WINED3D_MAP_*. 2012-06-18 17:48:56 +02:00
Henri Verbeet befdbbd90f wined3d: Reset render target bindings in wined3d_device_reset(). 2012-06-18 17:48:21 +02:00
Henri Verbeet 130f232d20 wined3d: Unset the depth/stencil surface before checking resources in wined3d_device_reset(). 2012-06-18 17:48:16 +02:00
Thomas Faber a6510b3fbc wined3d: Use INFINITY. 2012-06-18 11:59:41 +02:00
Michael Stefaniuc db5053c950 wined3d: Avoid sizeof on structs with variable length arrays. 2012-06-13 12:09:36 +02:00
Henri Verbeet 0610d1eec9 wined3d: Invalidate the entire buffer on maps with WINED3DLOCK_DISCARD. 2012-06-12 17:27:43 +02:00
Henri Verbeet 611b541f29 wined3d: Set undefined vertex attributes to 0.0. 2012-06-12 17:27:39 +02:00
Francois Gouget 4f17081652 wined3d: Make some surface functions static. 2012-06-12 11:11:16 +02:00
Francois Gouget 9a874aca8e wined3d: Reorder some surface functions to avoid the need for forward declarations. 2012-06-12 11:11:12 +02:00
Francois Gouget 19ba80e7c2 wined3d: We must include Wine's port.h before using NAN. 2012-06-01 17:41:52 +02:00
Henri Verbeet 948065a52f wined3d: Update nouveau card info. 2012-05-31 18:05:08 +02:00
Henri Verbeet 1a93983bd4 wined3d: Use NAN. 2012-05-30 17:17:59 +02:00
Kimmo Myllyvirta d738e6ffd2 wined3d: Add NVIDIA GeForce GTX 680. 2012-05-29 10:53:44 +02:00
Henri Verbeet aa71065d9b wined3d: Properly preload index buffers. 2012-05-29 10:44:50 +02:00
Karsten Elfenbein 9d7a39656a wined3d: Add Nvidia GTX 670. 2012-05-22 18:08:24 +02:00
Henri Verbeet e3ecfa5974 wined3d: Store user clip planes as 4-component float vectors. 2012-05-22 18:07:02 +02:00
Henri Verbeet 481514eab2 wined3d: Get rid of the conv_mat macro. 2012-05-22 18:06:54 +02:00
Henri Verbeet 69bdff6253 wined3d: Avoid moving buffers while they're mapped. 2012-05-22 18:06:51 +02:00
Henri Verbeet 0d45d50342 wined3d: Don't evict resources that are currently mapped in wined3d_device_evict_managed_resources(). 2012-05-21 21:31:02 +02:00
Henri Verbeet 5ec56c9bc4 wined3d: Get rid of SFLAG_LOCKED. 2012-05-21 21:30:56 +02:00
Henri Verbeet f2fb3f11f9 wined3d: Move the resource map count field up to wined3d_resource. 2012-05-21 21:30:52 +02:00
Francois Gouget fac36c55e9 Assorted typo, spelling, wording and case fixes. 2012-05-15 16:26:43 +02:00
Henri Verbeet a331ed032e wined3d: Properly check for transformed position in buffer_check_attribute(). 2012-05-03 23:45:21 +02:00
Henri Verbeet 6b9018ccd2 wined3d: Use the wined3d_matrix structure for the identity matrix. 2012-05-03 23:45:09 +02:00
Henri Verbeet 29893d8162 wined3d: Determine index buffer location based on vertex buffer locations. 2012-05-03 11:18:03 +02:00
Henri Verbeet 9267148705 wined3d: The wined3d object doesn't need a parent. 2012-05-03 11:18:00 +02:00
Alexandre Julliard c054d7bc6f wined3d: CreateDIBSection doesn't need a DC for the DIB_RGB_COLORS case. 2012-05-02 12:02:33 +02:00
Henri Verbeet a8a201cf61 wined3d: Figure out the index data pointer inside drawPrimitive().
We want to do this after context_apply_draw_state(), when resource locations
are all setup.
2012-05-02 11:59:14 +02:00
Henri Verbeet 64e41dae8a wined3d: Figure out the index size inside drawPrimitive(). 2012-05-02 11:59:10 +02:00
Henri Verbeet 42b835754b wined3d: Keep track of "all_vbo" in the stream info structure. 2012-05-01 14:44:15 +02:00
Henri Verbeet de43de510a wined3d: Move the resource bind_count field up to wined3d_resource. 2012-04-26 19:26:14 +02:00
Henri Verbeet 49c4623b2f wined3d: device_clear_render_targets() never fails. 2012-04-16 12:05:15 +02:00
Henri Verbeet 3ba95e2f3e wined3d: Move the present() back buffer check to the common wined3d_swapchain_present() code. 2012-04-16 12:05:09 +02:00
Henri Verbeet 8cef8b3587 wined3d: Unify the wined3d_mapped_rect and wined3d_mapped_box structures. 2012-04-13 10:48:51 +02:00
Henri Verbeet cd0c18f56b wined3d: Simplify the data.buffer_object assignment in surface_load_texture().
The surface pbo field should be 0 is SFLAG_PBO is not set.
2012-04-09 12:02:47 +02:00
Henri Verbeet baff64a27a wined3d: Properly determine the viewport size for front buffer blits in SetupForBlit(). 2012-04-05 11:56:19 +02:00
Henri Verbeet 12369f9f4d wined3d: Fix the VBO check in device_stream_info_from_declaration(). 2012-03-29 20:49:14 +02:00
Henri Verbeet 7017ed4587 wined3d: Drop a questionable FIXME in device_stream_info_from_declaration(). 2012-03-29 20:49:13 +02:00
Henri Verbeet c7d3a8a478 wined3d: Drop the "vbo" check in wined3d_device_process_vertices().
We care about individual streams having a VBO or not, and there's no way for
device_stream_info_from_declaration() to properly express that, so just check
the individual streams.
2012-03-29 20:49:13 +02:00
Matteo Bruni 7e3c7840e3 wined3d: Support WINED3D_TTFF_COUNT3 texture projection in the ARB backend. 2012-03-28 15:09:18 +02:00
Matteo Bruni 439097c810 wined3d: Update the correct draw buffers mask. 2012-03-28 15:09:09 +02:00
Henri Verbeet 426535a7dd wined3d: Recognise AMD HD 6770M and HD 6750M with closed drivers. 2012-03-28 11:36:46 +02:00
Henri Verbeet 00a4011425 wined3d: Drop the ORM_BACKBUFFER special case in surface_unmap(). 2012-03-27 11:39:26 +02:00
Henri Verbeet d1e00648ff wined3d: Only update the drawable on surface unmap for the frontbuffer. 2012-03-27 11:39:23 +02:00
Henri Verbeet 6f8b8bda2d wined3d: Load the backbuffer in the correct location before presenting in swapchain_gl_present(). 2012-03-27 11:39:19 +02:00
Henri Verbeet 337b63d878 wined3d: Drop an Apple hack.
The hack actually breaks things on cards that do support more than 256
uniforms in GLSL.
2012-03-27 11:39:13 +02:00
Henri Verbeet a0264eb101 wined3d: Move the WGL extension detection code to the same place as regular GL extension detection. 2012-03-16 11:08:59 +01:00
Henri Verbeet bb08fafdf0 wined3d: Use the same code for parsing the WGL extension string as for the regular GL extension string. 2012-03-16 11:08:54 +01:00
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
Henri Verbeet b55b683b08 wined3d: Get rid of the WINED3DLIGHTTYPE typedef. 2011-12-12 10:20:57 +01:00