Commit Graph

965 Commits

Author SHA1 Message Date
Henri Verbeet a215d326a5 wined3d: Get rid of the "swapchain" parameter to surface_get_gl_buffer().
Casting the container to "IWineD3DSwapChainImpl *" is always safe when
SFLAG_SWAPCHAIN is set on the surface. Most callers don't have a real
need for the swapchain, and end up calling GetContainer() just to pass
it to surface_get_gl_buffer().
2009-12-16 12:22:18 +01:00
Henri Verbeet c24e48d937 wined3d: Filter window messages generated by switching to fullscreen and back. 2009-12-15 11:43:56 +01:00
Henri Verbeet 0e270bbd22 wined3d: Send window messages through the swapchain before sending them to the application. 2009-12-15 11:43:41 +01:00
Henri Verbeet cb076db8cc wined3d: Move IWineD3DDeviceImpl_RestoreWindow() to swapchain.c. 2009-12-11 12:16:25 +01:00
Henri Verbeet 542590cfc9 wined3d: Move IWineD3DDeviceImpl_SetupFullscreenWindow() to swapchain.c. 2009-12-11 12:16:25 +01:00
Henri Verbeet a9f2613d13 wined3d: Add a separate function for swapchain initialization. 2009-12-11 12:16:25 +01:00
Henri Verbeet 840b5af77e wined3d: Properly invalidate the context's draw buffer in color_fill_fbo(). 2009-12-11 12:16:25 +01:00
Henri Verbeet b85a070598 wined3d: Support more formats for display mode enumeration.
ddraw/d3d8/d3d9 only support a limited number of formats, but those already
limit the supported formats themselves.
2009-12-10 11:54:55 +01:00
Henri Verbeet b3defd4c80 wined3d: Rename "wineD3DDevice" to "device". 2009-12-10 11:54:47 +01:00
Henri Verbeet b6ef17f23d wined3d: Remove unused GetDevice() implementations. 2009-12-09 13:51:04 +01:00
Henri Verbeet 54f3dec8e6 wined3d: Rename the "wineD3D" device field to "wined3d". 2009-12-08 12:33:29 +01:00
Henri Verbeet a02f93defb wined3d: Remove the redundant "adapterNo" field from the device. 2009-12-08 12:33:23 +01:00
Henri Verbeet aed85222b5 wined3d: Rename the wined3d_adapter "num" field to "ordinal".
This makes it consistent with dxgi_adapter.
2009-12-08 12:33:17 +01:00
Stefan Dösinger 817714912b wined3d: Infrastructure to render swapchains to a FBO. 2009-12-07 14:33:24 +01:00
Stefan Dösinger 64291c60cb wined3d: A function for checking if a surface is offscreen. 2009-12-07 14:32:54 +01:00
Stefan Dösinger 54f0d3f785 wined3d: Add a function for initializing surface sysmem. 2009-12-07 14:32:29 +01:00
Henri Verbeet dd5fc79f56 wined3d: The stateblock doesn't really need a parent. 2009-12-04 14:34:59 +01:00
Henri Verbeet ed73f0a1b0 d3d9: Implement IDirect3D9Ex::GetAdapterLUID(). 2009-12-02 13:06:08 +01:00
Henri Verbeet 55f3c576d9 wined3d: Remove the effetively unused "state" field from the device. 2009-11-18 11:16:54 +01:00
Henri Verbeet 135e6cea7b wined3d: Add a separate function for device initialization. 2009-11-18 11:16:49 +01:00
Henri Verbeet e4d8a3f309 wined3d: Move the various backend selection utility functions to utils.c. 2009-11-18 11:16:43 +01:00
Stefan Dösinger 0e77a381ea wined3d: Create clip coords only if they are used.
If GL vertex shader clipping is supported (GLSL or NVvp), we currently
always calculate clipping results in the shader. They're gracefully
discarded by opengl, but we need 6 constants / uniforms to calculate
unused values.
2009-11-12 15:18:00 +01:00
Henri Verbeet be8026adf6 wined3d: directly pass gl_info to stream_info_element_from_strided(). 2009-10-29 13:09:37 +01:00
Henri Verbeet 111307dfba wined3d: Get rid of the GL_SUPPORT macro. 2009-10-29 13:09:33 +01:00
Henri Verbeet e6ca176a48 wined3d: Rename DestroyContext() to context_destroy(). 2009-10-28 11:16:05 +01:00
Henri Verbeet c0050b8ec9 wined3d: Restore the thread's GL context on context_release() if it wasn't created by wined3d.
The background on this is that some applications use OpenGL and DirectDraw/Direct3D on
the same thread, typically using OpenGL for rendering and DirectDraw to get
the amount of available video memory. This means that we might replace the
application's current GL context with one with a completely different state,
but also that our current GL context might not be what we think it is.
2009-10-28 11:15:59 +01:00
Henri Verbeet 98027cb535 wined3d: Call context_release() for wined3d contexts made current by context_create(). 2009-10-28 11:15:27 +01:00
Henri Verbeet eeb54b9922 wined3d: Keep better track of where we're using wined3d contexts.
The idea here is that we can restore the thread's current GL context on
context_release() if it doesn't correspond to the current wined3d context on
context_acquire().
2009-10-28 11:15:19 +01:00
Henri Verbeet 2447c8bc3e wined3d: Store PCI IDs in wined3d_driver_info instead of wined3d_gl_info. 2009-10-27 10:54:50 +01:00
Henri Verbeet 5fbe5ee027 wined3d: Add a separate structure for driver info. 2009-10-26 11:20:33 +01:00
Henri Verbeet 342a71b281 wined3d: Replace the "stateLookup" tables with a single "wrap_lookup" table. 2009-10-23 12:03:15 +02:00
Henri Verbeet 6be41fd59a wined3d: Get rid of GL_LIMITS. 2009-10-22 10:46:05 +02:00
Henri Verbeet f2aaca2f67 wined3d: Rename WineD3DAdapter to wined3d_adapter. 2009-10-21 16:05:57 +02:00
Henri Verbeet 94d33d3e86 wined3d: Destroy FBO entries from the context that created them.
EXT_framebuffer_object doesn't specify if FBOs are shareable between GL
contexts, but ARB_framebuffer_object explicitly prohibits it.
2009-10-20 14:00:37 +02:00
Henri Verbeet 43aaaa8a4b wined3d: Validate the D3D context in FindContext().
Apparently it's valid to use a D3D device after its window is destroyed.
OpenGL isn't always so forgiving, so this patch is a first step to avoid
making GL calls on a context without window.
2009-10-20 14:00:36 +02:00
Henri Verbeet 0cb6f28751 wined3d: Get rid of the useless "isPBuffer" bitfield in struct wined3d_context. 2009-10-20 14:00:36 +02:00
Henri Verbeet bac6486520 wined3d: Merge some bitfields in struct SAVEDSTATES. 2009-10-14 11:26:44 +02:00
Henri Verbeet a24d14796a wined3d: Remove the useless "changed" and "enabledChanged" fields from struct wined3d_light_info. 2009-10-14 11:26:26 +02:00
Henri Verbeet 3bc9d1894d wined3d: Rename PLIGHTINFOEL to something less awful. 2009-10-14 11:26:17 +02:00
Jeff Zaroyko a1126242a7 wined3d: Fix prototype for set_texture_matrix. 2009-10-12 17:07:03 +02:00
Henri Verbeet 2be38232ea wined3d: Remove some unused code. 2009-10-06 12:02:59 +02:00
Henri Verbeet 92d22ce535 wined3d: Move the SM1 opcode enum to shader_sm1.c. 2009-10-06 12:02:52 +02:00
Henri Verbeet 8b3f868774 wined3d: Move the pixel/vertex states arrays to stateblock.c. 2009-10-02 11:53:03 +02:00
Henri Verbeet a84974e2ea wined3d: Fix the values of NUM_SAVEDPIXELSTATES_T and NUM_SAVEDVERTEXSTATES_R. 2009-10-02 11:52:54 +02:00
Henri Verbeet be0b7355fc wined3d: Add a separate function for initializing the "contained_*" fields from the "changed" field. 2009-09-30 14:31:59 +02:00
Henri Verbeet 664057ce6a wined3d: Add a separate function for state block initialization. 2009-09-29 14:22:34 +02:00
Henri Verbeet 6a7b97b617 wined3d: Fix a typo. 2009-09-29 14:22:34 +02:00
Stefan Dösinger 404aecb8da wined3d: Test if result.clip[] works correctly.
The Mac Nvidia driver doesn't implement the result.clip part of
GL_NV_vertex_program2_option correctly. It complains about a syntax
error if "result.clip[0]" is used. "result.clip" compiles correctly, but
supports only one clipplane, and running the shader results in severe
rendering bugs.
2009-09-28 17:33:07 +02:00
Henri Verbeet f88c6e5ce5 wined3d: Move common shader fields to IWineD3DBaseShaderClass. 2009-09-25 15:14:35 +02:00
Henri Verbeet 789372afa8 wined3d: Don't free D3D pixel shaders until the wined3d pixel shader is destroyed. 2009-09-24 13:24:53 +02:00