Commit Graph

673 Commits

Author SHA1 Message Date
Henri Verbeet f50b4c7d71 wined3d: Move "wrap_lookup" to struct wined3d_gl_info. 2010-01-04 11:41:28 +01:00
William Waghorn 0c582dca3a wined3d: Added NVidia GT240 detection. 2010-01-04 11:41:27 +01:00
Aaron Brazener 11754a645b wined3d: Added further Nvidia Geforce 8xxx detection. 2009-12-31 12:12:18 +01:00
Aaron Brazener 381fa8931f wined3d: Added ATI Radeon HD 5xxx detection. 2009-12-29 11:05:39 +01:00
Henri Verbeet f30999f193 wined3d: Recognize "VMware, Inc." as VENDOR_MESA. 2009-12-28 12:27:13 +01:00
Henri Verbeet ea0af93c19 wined3d: Get rid of some redundant local variables.
E.g. "This" variables that are only used in traces.
2009-12-22 13:48: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 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
Henri Verbeet 0491fcce30 dxgi: Implement IDXGIAdapter::GetDesc(). 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 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
Henri Verbeet 5487009624 wined3d: Report a driver version appropriate for the reported OS. 2009-11-12 13:14:39 +01:00
Henri Verbeet bf10dbe8a6 wined3d: Map D3DFMT_D24S8 to WINED3DFMT_D24_UNORM_S8_UINT.
The internal order of the depth and stencil bits is unspecified since the
format isn't lockable.
2009-10-30 11:28:52 +01:00
Henri Verbeet 111307dfba wined3d: Get rid of the GL_SUPPORT macro. 2009-10-29 13:09:33 +01:00
Henri Verbeet 48e03bc189 wined3d: Introduce a separate structure for various OpenGL implementation limits. 2009-10-29 13:09:27 +01:00
Henri Verbeet 30d2660d99 wined3d: Restore the thread's previous GL context in WineD3D_ReleaseFakeGLContext(). 2009-10-27 10:55:35 +01:00
Henri Verbeet 13c4fe72ad wined3d: Set a driver name appropriate for the vendor in init_driver_info(). 2009-10-27 10:55:09 +01:00
Henri Verbeet 26ba212407 wined3d: Apply PCI ID overrides in init_driver_info() instead of IWineD3DImpl_GetAdapterIdentifier(). 2009-10-27 10:54:57 +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
Stefan Dösinger 641d6681d4 wined3d: Use the ARB native constant limit in the GLSL-ARB constants quirk.
Geforce 8 and Geforce 9 cards support 256 env and 1024 native
constants. 1024 is the hardware limit we want to use if we overwrite
the GLSL reported value with the ARB value on Mac OS (because Mac OS
reports more constants than supported by HW on some cards).
2009-10-26 11:42:10 +01:00
Stefan Dösinger f9c4d442a9 wined3d: Get rid of the general shader constant limit. 2009-10-26 11:41:51 +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 42eb516d96 wined3d: Free the adapter's format info in IWineD3DImpl_Release() (Valgrind). 2009-10-21 16:05:57 +02:00
Henri Verbeet f2aaca2f67 wined3d: Rename WineD3DAdapter to wined3d_adapter. 2009-10-21 16:05:57 +02:00
Stefan Dösinger 2d802af4d9 wined3d: Make shader specific constants accessible via GL_LIMITS. 2009-10-20 14:46:08 +02:00
Henri Verbeet 2be38232ea wined3d: Remove some unused code. 2009-10-06 12:02:59 +02:00
Stefan Dösinger c749debec6 wined3d: Fix an error string. 2009-10-01 12:10:35 +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
Stefan Dösinger 77a83aee79 wined3d: Don't use GL_NV_texture_shader on OSX. 2009-09-28 17:32:54 +02:00
Henri Verbeet 47c84f4f7f wined3d: Use the DXGI naming convention for all formats. 2009-09-25 15:15:44 +02:00
Austin English 5d15da6df5 wined3d: Recognize DRI R300 drivers as Mesa. 2009-09-25 13:15:48 +02:00
Henri Verbeet eca28c942d wined3d: Add support for ARB_provoking_vertex.
This is just EXT_provoking_vertex promoted to ARB.
2009-09-23 12:37:18 +02:00
Henri Verbeet ec97383f6f wined3d: Add support for ARB_framebuffer_object. 2009-09-23 12:37:00 +02:00
Henri Verbeet c4c86215ed wined3d: Detect ARB_framebuffer_object. 2009-09-23 12:36:48 +02:00
Henri Verbeet 4aaf47f277 wined3d: Get rid of the unused DeviceType parameter to select_shader_mode(). 2009-09-17 10:09:57 -05:00
Henri Verbeet a5214c306f wined3d: Don't free D3D surfaces until the wined3d surface is destroyed.
This prevents for example a d3d9 depth stencil from being destroyed when it
has no external references but is still in use by the device/stateblock. A
nice side effect is that it simplifies handling of "implicit" surfaces like
the frontbuffer and backbuffers, as well as the forwarding of reference counts
for surfaces that are part of a texture.
2009-09-16 13:04:32 -05:00
Henri Verbeet 9880cd7504 wined3d: Make some variables static. 2009-09-15 14:32:36 -05:00
Jaime Rave 4700038fdf wined3d: Fix vendor detection when using an Intel X4500HD. 2009-09-09 12:07:31 +02:00
Henri Verbeet c951f6925c wined3d: Release the GL lock on IWineD3DImpl_FillGLCaps() error paths. 2009-09-02 11:25:57 +02:00
Henri Verbeet 078273afa6 wined3d: Add support for ARB_depth_clamp. 2009-09-01 14:05:45 +02:00
Stefan Dösinger 531ec2267b wined3d: Allow filtering on RECT textures.
There is no reason to disable linear filtering, we just cannot use mipmapping.
2009-08-31 12:18:01 +02:00
Stefan Dösinger 52d2865521 wined3d: Remove redundant TRACEs.
These made sense before we had the quirk table. Nowadys the quirk
table contains quirk description strings that print out whether or not
any apple specific quirks are applied. The traces in match_apple just
spam the log because this code is run multiple times for many quirks.
2009-08-31 12:17:41 +02:00
Henri Verbeet 560d63548d wined3d: Remove trailing spaces. 2009-08-27 11:45:37 +02:00
Jörg Höhle b9d955b86d wined3d: Delete meaningless UNIX GL driver version parsing. 2009-08-27 11:00:59 +02:00
Stefan Dösinger 52731a80c8 wined3d: Make it clear that glFlush and glFinish are WGL functions. 2009-08-26 14:35:41 +02:00
Stefan Dösinger 21f4e42a98 wined3d: Don't use WINED3DADAPTER_DEFAULT as refresh rate. 2009-08-26 14:35:33 +02:00
Stefan Dösinger 3f6909c1f2 wined3d: Initialize ps_arb_max_local_constants. 2009-08-26 14:35:27 +02:00
Henri Verbeet c70f3816ab wined3d: Hide WINED3DFMT_R16G16B16A16_UNORM again.
This format is broken on some cards. Hide it until we figure out a reliable
way to deal with it.
2009-08-19 14:45:39 +02:00
Henri Verbeet 779ad6b9f1 wined3d: Add a separate function for guessing the card. 2009-08-14 13:59:08 +02:00
Henri Verbeet 93218c6602 wined3d: Add a separate function for guessing the driver version.
Note that I don't necessarily think the ATI path for example will work
correctly. This patch is just for moving it out of IWineD3DImpl_FillGLCaps().
2009-08-14 13:59:08 +02:00
Henri Verbeet b94e89dae9 wined3d: Add a separate function for parsing the GL version. 2009-08-14 13:59:08 +02:00
Henri Verbeet a1402e0677 wined3d: Add a separate function for guessing the vendor. 2009-08-14 13:59:08 +02:00
Henri Verbeet c573d0a4c9 wined3d: Escape GL strings with debugstr_a() in IWineD3DImpl_FillGLCaps(). 2009-08-14 13:59:08 +02:00
Henri Verbeet 914a21740c wined3d: Recognize GL_VENDOR "Tungsten Graphics, Inc." as VENDOR_MESA. 2009-08-13 11:45:42 +02:00
Henri Verbeet e205973915 wined3d: Remove the redundant vs_nv_version and ps_nv_version fields from struct wined3d_gl_info. 2009-08-13 11:45:36 +02:00
Henri Verbeet fbc3cf89e2 wined3d: Remove some unused fields from struct wined3d_gl_info. 2009-08-13 11:45:24 +02:00
Henri Verbeet 42c2d06bc0 wined3d: Don't make wgl calls from under the GL lock. 2009-08-13 11:45:17 +02:00
Henri Verbeet ac64bf6406 wined3d: Detect EXT_provoking_vertex. 2009-08-10 13:52:43 +02:00
Stefan Dösinger 6f5a1d9a15 wined3d: Filter WINED3DSTENCILCAPS_TWOSIDED in d3d8. 2009-08-07 14:56:48 +02:00
Stefan Dösinger 296573caae d3d: Filter R8G8B8 in d3d8 and d3d9. 2009-08-07 14:56:40 +02:00
Henri Verbeet b04e992a65 wined3d: Set the WINED3DTEXF_NONE entry in the minification lookup table to GL_NEAREST.
Although WINED3DTEXF_NONE is not a valid minification filter, having it in the
tables simplifies the lookup. GL_NEAREST is more appropriate than GL_LINEAR
though.
2009-08-06 17:26:29 +02:00
Henri Verbeet 9e8f7898c9 wined3d: Get rid of the ANISOTROPIC entry from the filter lookup tables.
Anisotropy and texture filters are orthogonal in GL. In D3D
D3DTEXF_ANISOTROPIC just selects the best (linear) filter type and enables
anisotropy.
2009-08-05 11:20:36 +02:00
Stefan Dösinger 2858f67a2a wined3d: Enable WINED3DFMT_R16G16B16A16_UNORM. 2009-08-05 11:19:46 +02:00
Stefan Dösinger f53451ddac wined3d: Only use WINE_normalized_texrect if ARB_texture_np2 is supported. 2009-08-05 11:19:26 +02:00
Henri Verbeet d4159adbc8 wined3d: Statically initialize the filter lookup tables.
Also add some comments.
2009-08-04 13:04:23 +02:00
Henri Verbeet b30a31e09a wined3d: Set a more appropriate value for the ANISOTROPIC/NONE min/mip filter. 2009-08-04 13:04:11 +02:00
Henri Verbeet 25fe98e02b wined3d: Don't disable mipmapping if we lack EXT_texture_filter_anisotropic.
These don't have a whole lot to do with each other.
2009-08-04 13:04:05 +02:00
Henri Verbeet 1d647283d5 wined3d: Don't use the GL texture flags to determine if a format is a depth stencil in CheckDepthStencilCapability().
The OpenGL implementation might not support ARB_depth_texture, but that
doesn't mean we can't use the format for the depth buffer.
2009-08-03 15:01:34 +02:00
Henri Verbeet 9253bbcb05 wined3d: Get rid of last_device. 2009-07-23 11:22:13 +02:00
Henri Verbeet 1a43030664 wined3d: Keep track of a thread's wined3d context. 2009-07-22 14:42:50 +02:00
Henri Verbeet 43e6686a78 wined3d: Rename _WineD3D_GL_Info to struct wined3d_gl_info. 2009-07-17 11:22:07 +02:00
Henri Verbeet ae8e8ac73f wined3d: Check the return values for some wgl calls. 2009-07-15 13:24:24 +02:00
Stefan Dösinger 8a6553da14 wined3d: Only use 4 component specular colors if GL allows it. 2009-07-10 13:07:33 +02:00
Stefan Dösinger c0e5c8f481 wined3d: Update Nvidia driver versions. 2009-07-09 12:47:39 +02:00
Stefan Dösinger cfd0652980 wined3d: Add Intel GMA X3100 to our card DB. 2009-07-09 12:47:33 +02:00
Erik Inge Bolsø 48995f3354 wined3d: Fix Nvidia GTX series misdetection. 2009-07-08 20:13:25 +02:00
Henri Verbeet 699f68cdee wined3d: Get rid of some pointers in WINED3DADAPTER_IDENTIFIER.
This also avoids some unchecked strcpy() calls.
2009-07-07 11:50:30 +02:00
Henri Verbeet 32fd8f2130 wined3d: checkGLcall() doesn't need a \n. 2009-07-07 11:50:22 +02:00
Henri Verbeet 2ac34bf231 wined3d: Add some missing float suffixes.
The compiler should be smart enough to fix most of these, but it looks sloppy.
2009-07-07 11:50:05 +02:00
Henri Verbeet 7ec911adeb wined3d: Avoid an unnecessary strcpy(). 2009-07-07 11:49:54 +02:00
Henri Verbeet c9257aed85 wined3d: Avoid a forward declaration. 2009-07-06 14:35:27 +02:00
Henri Verbeet 4571455fea wined3d: Remove the gl_renderer field from WineD3D_GL_Info. 2009-07-06 14:35:27 +02:00
Henri Verbeet b2331ec79b wined3d: Get rid of the unused gl_version and glx_version fields. 2009-07-06 14:35:27 +02:00
Henri Verbeet 966f8f452d winedd3d: Get rid of a useless trace.
gl_card isn't initialized yet here, and GL_RENDERER is already printed
earlier.
2009-07-06 14:35:27 +02:00
Henri Verbeet ad0ef46a39 wined3d: Get rid of the redundant "return_value" variable. 2009-07-06 14:35:27 +02:00
Henri Verbeet 17688365ed wined3d: Don't accept NULL as a valid result from glGetString(). 2009-07-03 13:05:52 +02:00
Henri Verbeet 23ce9d72b8 wined3d: Get rid of wined3d_fake_gl_context_cs. 2009-07-03 13:05:52 +02:00
Henri Verbeet 4cacf2e08f wined3d: Use a proper structure for storing initial GL context information. 2009-07-03 13:05:51 +02:00
Henri Verbeet db6ea72201 wined3d: Get rid of the silly refcount for the "fake" GL context. 2009-07-02 12:01:02 +02:00
Henri Verbeet b5da7f49d3 wined3d: Don't reuse random GL contexts during initialization.
Obviously there's no guarantee about the state of such a context. The specific
problem is that it might have GL_UNPACK_CLIENT_STORAGE_APPLE enabled, causing
some glTexImage2D() calls to fail, but it's a bad idea in general.
2009-07-02 12:00:50 +02:00
Henri Verbeet 50e9ad66e2 wined3d: Clear the last device in WineD3D_CreateFakeGLContext(). 2009-07-02 12:00:44 +02:00
Tobias Jakobi 2d532a1597 wined3d: Add ps_arb_max_local_constants. 2009-07-02 11:56:27 +02:00
Henri Verbeet 40bc47901c wined3d: Use flags for driver quirks. 2009-07-01 11:41:44 +02:00
Henri Verbeet c475789bb6 wined3d: Move the driver_quirk structure to directx.c. 2009-07-01 11:41:38 +02:00
Henri Verbeet f57967c983 wined3d: Always check the result of wglMakeCurrent(). 2009-06-29 12:30:28 +02:00
Henri Verbeet 7363b6e2e3 wined3d: Document GL context dependencies. 2009-06-26 12:05:07 +02:00
Henri Verbeet 404f4f7321 wined3d: Get rid of some asserts. 2009-06-22 12:59:16 +02:00