Commit Graph

5687 Commits

Author SHA1 Message Date
Henri Verbeet 0ce894f274 d3d9: Implement d3d9_device_GetDisplayModeEx(). 2012-06-28 01:39:28 +02:00
Henri Verbeet 2c8834dffd d3d9: Implement d3d9_GetAdapterDisplayModeEx(). 2012-06-28 01:39:27 +02:00
Henri Verbeet a1bfd0988f wined3d: Take scanline ordering into account in the mode setting code. 2012-06-28 01:39:26 +02:00
Henri Verbeet 427f3e40dc wined3d: Get rid of is_display_mode_supported().
If a display mode is unsupported, wined3d_set_adapter_display_mode() shouldn't
have a problem figuring that out on its own.
2012-06-28 01:39:24 +02:00
Henri Verbeet d93e61f249 wined3d: Release the stateblock only after mode setting in wined3d_device_reset().
While we're allowed to leave the device in a somewhat inconsistent state after
a failed reset, such a state should be recoverable by calling reset again. If
e.g. mode setting were to fail between the point where we destroy and recreate
the stateblock a subsequent reset would crash because the device doesn't have
a stateblock anymore.
2012-06-26 17:32:59 +02:00
Henri Verbeet 0ee3007963 wined3d: Only unset the onscreen depth / stencil buffer once in wined3d_device_reset(). 2012-06-26 17:32:48 +02:00
Józef Kucia d760b21ab6 wined3d: Use the system memory pool for the logo surface. 2012-06-25 18:12:53 +02:00
Alexandre Julliard 66a5995e11 winex11: Move wglGetCurrentContext and wglGetCurrentDC to the internal OpenGL extension functions. 2012-06-25 16:25:44 +02:00
Alexandre Julliard 08efea0218 winex11: Move wglCopyContext and wglDeleteContext to the internal OpenGL extension functions. 2012-06-25 13:52:10 +02:00
Alexandre Julliard beeba895d3 winex11: Move wglShareLists to the internal OpenGL extension functions. 2012-06-25 13:52:01 +02:00
Henri Verbeet c11c2e2dbb wined3d: Get rid of the d3d_caps debug channel. 2012-06-22 16:14:26 +02:00
Henri Verbeet b6c7b825a1 wined3d: Only store a different screen format if it's explicitly changed through wined3d. 2012-06-22 16:14:14 +02:00
Henri Verbeet c2c0743ccf wined3d: Properly retrieve the display mode in wined3d_device_set_cursor_properties(). 2012-06-22 16:14:08 +02:00
Henri Verbeet 7000899948 wined3d: Just forward wined3d_device_get_display_mode() to the appropriate swapchain. 2012-06-22 16:14:03 +02:00
Henri Verbeet 0f0fe49240 wined3d: Implement mode setting in the adapter instead of the device. 2012-06-22 16:13:58 +02:00
Henri Verbeet fdb85423b4 wined3d: Lie about the display format in wined3d_get_adapter_display_mode(). 2012-06-20 19:27:02 +02:00
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