Commit Graph

720 Commits

Author SHA1 Message Date
Chris Robinson fc96587b3d wined3d: Set D3DCAPS2_CANAUTOGENMIPMAP flag when supported. 2007-10-11 16:24:28 +02:00
Roderick Colenbrander 46f33f4f38 wined3d: CreateFakeGLContxt/ReleaseFakeGLContext doesn't need ENTER_GL/LEAVE_GL and they are making GDI calls.
The removal of ENTER_GL from the fake context code, requires the
addition of ENTER_GL/LEAVE_GL to FillGLCaps which was protected by the
fake context code before.
2007-10-01 12:35:01 +02:00
Francois Gouget b2bc712323 Assorted spelling fixes. 2007-09-27 20:12:53 +02:00
Roderick Colenbrander 243ac3ed75 wined3d: Move video memory tracking to the adapter. 2007-09-24 13:50:43 +02:00
Roderick Colenbrander 21a3c1d4be wined3d: Better video memory reporting. 2007-09-20 15:53:40 +02:00
Roderick Colenbrander 0b0f353b7d wined3d: Update list of pci ids. 2007-09-17 12:10:33 +02:00
Stefan Dösinger c5410a6f22 wined3d: Use GL_NV_depth_clamp to implement clipping disable. 2007-09-17 12:08:40 +02:00
Stefan Dösinger 0af52d2ac4 wined3d: Disable some volume texture formats. 2007-09-13 11:38:38 +02:00
Stefan Dösinger 160258b637 wined3d: Implement mipmap auto generation. 2007-09-12 12:10:25 +02:00
Stefan Dösinger 9ef5231566 wined3d: Disable W11V11U10 and A2W10V10U10. 2007-09-12 12:09:40 +02:00
Louis Lenders a7558ce756 wined3d: Add WINED3DPRESENT_INTERVAL_ONE flag. 2007-09-10 16:14:11 +02:00
Stefan Dösinger 75f9bf43be wined3d: Raise the 1x pixelshader max value to the d3d minimum. 2007-08-31 12:08:58 +02:00
Francois Gouget a116879507 Assorted spelling fixes. 2007-08-30 12:26:02 +02:00
Roderick Colenbrander 8a7332f60f wined3d: Fix a hdc check in InitAdapters. 2007-08-29 12:25:25 +02:00
Chris Robinson d0a61fd269 wined3d: Don't assume the fake DC is the current DC. 2007-08-28 11:56:10 +02:00
Chris Robinson 95b6155408 wined3d: Only use one fake context when building adapter info. 2007-08-27 11:58:03 +02:00
Stefan Dösinger 0dade7207f wined3d: Implement range based fog and advertize it correctly. 2007-08-21 13:35:57 +02:00
Stefan Dösinger 01c6c982bb d3d9: Some caps fixes. 2007-08-21 13:35:35 +02:00
Stefan Dösinger 306fcfeee7 wined3d: FIX D3DBLEND_BOTHSRCALPHA and BLEND_BOTHINVSRCALPHA. 2007-08-20 22:32:02 +02:00
Roderick Colenbrander 9ca3a22487 wined3d: Dynamically load WGL functions. 2007-08-17 12:03:13 +02:00
Stefan Dösinger 06cc0fa95f wined3d: GL_SRC_ALPHA_SATURATE is supported as src blend param only. 2007-08-17 12:01:38 +02:00
Stefan Dösinger 18936a1b89 wined3d: Do not advertize A8R3R3B2 support. 2007-08-16 11:35:06 +02:00
Roderick Colenbrander 3d58a065df wined3d: Load wglGetProcAddress from opengl32.dll instead of gdi32.dll when USE_WIN32_OPENGL is defined. 2007-08-14 20:29:21 +02:00
Roderick Colenbrander 4ad17c0c38 wined3d: Dynamically load OpenGL. 2007-08-14 13:32:08 +02:00
Roderick Colenbrander 6b177c44e1 wined3d: Pass the proper DeviceName to ChangeDisplaySettings. 2007-08-14 12:28:28 +02:00
Roderick Colenbrander d391c11d43 wined3d: Proper CheckDeviceType / CheckDepthStencilMatch support. 2007-08-13 13:02:46 +02:00
Chris Robinson c8b6b2b1d8 wined3d: Use a safer, more compliant method to parse extension strings. 2007-08-10 12:58:17 +02:00
Roderick Colenbrander ac3927a73e wined3d: Move over to WGL. 2007-08-08 15:32:01 +02:00
Roderick Colenbrander 107ff2057d wined3d: Move fake context code over to WGL. 2007-08-08 15:32:01 +02:00
Chris Robinson ef561429ee wined3d: Use the macro when querying the current display settings. 2007-08-06 14:01:28 +02:00
Chris Robinson c6e6eae08c wined3d: Initialize major and minor when filling GL caps. 2007-08-06 13:59:38 +02:00
Chris Robinson 9a319f2857 wined3d: Properly setup DevModeW before using it. 2007-08-06 13:59:28 +02:00
H. Verbeet 3ac2271f5c wined3d: Only report 16 bit float declaration types as supported if we support them. 2007-08-02 12:18:42 +02:00
H. Verbeet f11ca610ba wined3d: Add definitions and detection for GL_NV_half_float. 2007-08-02 12:18:41 +02:00
Stefan Dösinger d2016ff892 wined3d: Store the gl format table in the gl info structure. 2007-07-30 12:49:50 +02:00
Stefan Dösinger 12788f6fc8 wined3d: Do not fail if the adapter info can't be initialized. 2007-07-26 11:48:45 +02:00
Stefan Dösinger 30724a6ec2 wined3d: Find the shader constant limit at adapter init time. 2007-07-26 11:47:52 +02:00
Stefan Dösinger b9379fc389 wined3d: Allocate render target management members in Init3D. 2007-07-26 11:47:43 +02:00
Stefan Dösinger 861767f036 wined3d: Create the stateblock in Init3D. 2007-07-24 13:44:10 +02:00
H. Verbeet 8f3c1ad5ea wined3d: Advertise VTF support. 2007-07-09 12:16:16 +02:00
H. Verbeet f31edc3ce7 wined3d: Advertise A32B32G32R32F render target support. 2007-07-09 12:16:10 +02:00
Stefan Dösinger 26ebe396c3 wined3d: Implement high order patches. 2007-07-06 19:32:47 +02:00
H. Verbeet 61e1d1379e wined3d: Cleanup GL extension detection. 2007-06-27 11:44:32 +02:00
H. Verbeet 5b7758f80c wined3d: Increase the sizes of texturing related arrays, in order to support vertex textures. 2007-06-26 11:57:17 +02:00
H. Verbeet 9c44b67d28 wined3d: Add max_vertex_samplers and max_combined_samplers to WineD3D_GL_Info. 2007-06-26 11:57:05 +02:00
H. Verbeet 3ad03206ab wined3d: Rename max_samplers to max_fragment_samplers. 2007-06-26 11:56:57 +02:00
Stefan Dösinger 6e5a5d2736 wined3d: DDraw surfaces are QWORD aligned. 2007-06-14 13:22:52 +02:00
Stefan Dösinger c9b8a79e0b wined3d: Implement vertical refresh sync. 2007-06-14 13:21:54 +02:00
Phil Costin 2256e06de3 wined3d: Add gamma linerization support for D3DFMT_A4R4G4B4. 2007-06-13 11:22:42 +02:00
Stefan Dösinger efbdd515f8 wined3d: Find possible fbconfis on dll load time, use them in CheckDepthStencilMatch. 2007-06-11 13:53:38 +02:00
Stefan Dösinger 66930554d1 wined3d: Store the adapter driver and description in the adapter. 2007-06-11 13:52:32 +02:00
Stefan Dösinger a460a2df43 wined3d: Store the gl information in a per adapter structure and initialize it only once. 2007-06-11 13:51:06 +02:00
Phil Costin 3650e31e85 wined3d: Add GL_EXT_texture_sRGB constants and corresponding CheckDeviceFormat query. 2007-06-07 13:01:23 +02:00
Andrew Riedi a9c2e15cf6 wined3d: Add hardware cursor support. 2007-05-16 14:27:39 +02:00
Stefan Dösinger 81504d6a2d wined3d: Support bump environment mapping using GL_NV_texture_shader. 2007-05-10 11:40:27 +02:00
Stefan Dösinger 28170f0474 wined3d: Implement environment bump mapping with GL_ATI_envmap_bumpmap. 2007-05-09 12:07:32 +02:00
Stefan Dösinger 992834016a wined3d: Report only D16, D24S8 and D24X8 depth stencil formats as supported. 2007-05-09 12:07:09 +02:00
Stefan Dösinger adb9b13b81 wined3d: Implement vertex blending using GL_ARB_vertex_blend. 2007-05-03 14:24:46 +02:00
Jesse Allen 00a84b0cb2 wined3d: Remove fake nvidia card in GetAdapterIdentifier. 2007-04-26 14:59:14 +02:00
Stefan Dösinger 725057da47 d3d: Remove dependency on ddraw.h header. 2007-04-16 13:20:15 +02:00
Stefan Dösinger 8a5b6df483 d3d: Enumerate palettized formats for ddraw. 2007-04-16 12:12:34 +02:00
H. Verbeet 6fd820206a wined3d: Don't report render target formats we don't support as supported. 2007-04-09 12:41:17 +02:00
H. Verbeet 31663b9eca wined3d: Add some StretchRectFilterCaps. 2007-04-09 12:41:04 +02:00
H. Verbeet 3d4e054b55 wined3d: Handle FBO attachments slightly more efficiently. 2007-04-09 12:38:53 +02:00
Stefan Dösinger 0899d85757 wined3d: Set WINED3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD caps3 cap. 2007-04-07 10:58:17 +02:00
Fabian Bieler dcd416edbe wined3d: Add GL_EXT_framebuffer_blit to extension handler. 2007-04-06 12:31:09 +02:00
Fabian Bieler 7df5deab23 wined3d: Add support for float texture formats back in. 2007-04-04 21:26:36 +02:00
Stefan Dösinger f9ee2355d0 wined3d: Add GL_APPLE_client_storage to our extension list. 2007-04-02 11:30:04 +02:00
Fabian Bieler 7cedd56d24 wined3d: Implement linear fog with pixel shader. 2007-03-23 12:30:23 +01:00
Stefan Dösinger e213d7eff5 wined3d: Add GL_ATI_envmap_bumpmap to our gl extension header. 2007-03-21 22:50:30 +01:00
Vitaly Budovski f7b565e2ca wined3d: Check for float texture formats correctly.
Move the checks for float texture formats into the correct location.
This allows some Direct3D sample applications which check for any of
the float formats together with D3DUSAGE_RENDERTARGET to start.
2007-03-21 12:33:17 +01:00
Andrew Talbot 2f5f3825c6 wined3d: Replace inline static with static inline. 2007-03-17 20:04:46 +01:00
Stefan Huehner 4d1d01f266 Mark several functions as static. 2007-03-13 13:35:12 +01:00
András Kovács dac10f0da8 wined3d: Set WINED3DCAPS2_DYNAMICTEXTURES flag. 2007-03-13 12:08:23 +01:00
H. Verbeet 2384bdde9d wined3d: Remove broken software shaders. 2007-03-07 11:52:17 +01:00
H. Verbeet 318fb2987c wined3d: Fix a typo. 2007-03-07 11:47:54 +01:00
Stefan Dösinger 5f05906f3b wined3d: Store the number of aux buffers in the gl limits structure. 2007-03-06 22:16:25 +01:00
Stefan Dösinger 95efeb7e4b wined3d: Support GL_APPLE_fence for event queries. 2007-03-01 11:40:24 +01:00
Stefan Dösinger be8e9e17bc wined3d: Add GL_NV_fence defines and functions. 2007-03-01 11:40:02 +01:00
H. Verbeet 2c85e5e8a3 wined3d: Store GLSL programs in a hash table rather than a linked list. 2007-02-28 13:35:23 +01:00
H. Verbeet 0170cc429c wined3d: Boolean constants use up only a single uniform each. 2007-02-28 13:33:03 +01:00
Jan Zerebecki 870310b461 wined3d: replace #ifdef with if() for DEBUG_SINGLE_MODE. 2007-02-23 11:57:46 +01:00
Jan Zerebecki 706bc26a69 wined3d: Make CreateFakeGLContext thread safe. 2007-02-23 11:57:12 +01:00
H. Verbeet dc5b08cc76 wined3d: Get rid of any remaining d3d9 stuff in directx.c. 2007-02-16 12:31:21 +01:00
H. Verbeet e01f242a2a wined3d: Add WINED3DVS20 & WINED3DVS20CAPS flags and use them. 2007-02-15 14:20:19 +01:00
H. Verbeet 594f7fd882 wined3d: Add WINED3DPS20 & WINED3DPS20CAPS flags and use them. 2007-02-15 14:20:12 +01:00
H. Verbeet db8da81e67 wined3d: Add WINED3DDTCAPS flags and use them. 2007-02-15 14:20:01 +01:00
H. Verbeet da354c6dfa wined3d: Add WINED3DLINECAPS flags and use them. 2007-02-15 14:19:52 +01:00
H. Verbeet 5c398c571f wined3d: Add WINED3DPTADDRESSCAPS flags and use them. 2007-02-15 11:43:59 +01:00
H. Verbeet a58b156264 wined3d: Add WINED3DPCMPCAPS flags and use them. 2007-02-15 11:43:53 +01:00
H. Verbeet fd8e0f1589 wined3d: Add WINED3DPMISCCAPS flags and use them. 2007-02-15 11:43:46 +01:00
H. Verbeet 748fd83ebd wined3d: Add WINED3DPBLENDCAPS flags and use them. 2007-02-15 11:43:37 +01:00
H. Verbeet 8fdd88b42c wined3d: Add WINED3DSTENCILCAPS flags and use them. 2007-02-15 11:43:29 +01:00
H. Verbeet ea683407af wined3d: Add WINED3DTEXOPCAPS flags and use them. 2007-02-15 11:43:22 +01:00
Stefan Dösinger 49a49fcfec wined3d: Load one bump mapping environment matrix into pixel shaders if needed. 2007-02-15 11:36:01 +01:00
Stefan Dösinger 0feddccfe3 wined3d: Instancing emulation. 2007-02-14 20:46:25 +01:00
Stefan Dösinger b48dfb3c54 wined3d: Always use np2 repacking if no native np2 support is available. 2007-02-14 12:29:01 +01:00
Stefan Dösinger 12252d0589 wined3d: Use the context manager to select the primary render target. 2007-02-13 12:05:35 +01:00
Stefan Dösinger 7253fae31f wined3d: Make the context array dynamic. 2007-02-13 12:04:40 +01:00
Maarten Lankhorst 89840c0517 wined3d: Report D3D caps properly for ATI cards. 2007-02-05 14:01:43 +01:00
Stefan Dösinger 354fdae524 wined3d: Implement per stream offsets. 2007-01-17 11:24:04 +01:00
Stefan Dösinger 8658d20b3e wined3d, d3d9: Caps correction. 2007-01-15 12:44:03 +01:00
Alexandre Julliard 656fc93815 Use GetDC instead of CreateDC where possible. 2007-01-02 17:16:36 +01:00
Chris Robinson ed21935479 d3d: Fix adapter mode enumeration and filtering. 2006-12-20 17:58:34 +01:00
H. Verbeet e4fc45e0fe wined3d: Allow wined3d to handle multiple render targets. 2006-12-20 12:32:30 +01:00
H. Verbeet 299c1e62bf wined3d: Allow the FBO code to handle multiple render targets. 2006-12-20 12:32:13 +01:00
H. Verbeet 8355b1a501 wined3d: Allow the device to store multiple render targets. 2006-12-20 12:31:40 +01:00
Francois Gouget 367f91fb5c Assorted spelling fixes. 2006-12-14 20:25:05 +01:00
Chris Robinson 36be22a6db wined3d: Reduce the number of error messages. 2006-12-11 12:18:46 +01:00
Markus Amsler 50a0c21265 d3d: Callback infrastructure for implicit volume destruction in IWineD3DVolumeTexture. 2006-12-06 12:39:14 +01:00
Markus Amsler 04ae4596ff d3d: Callback infrastructure for implicit surface destruction in IWineD3DTexture. 2006-12-06 12:38:37 +01:00
Jan Zerebecki 9c58bce158 wined3d: Add err for failure case in CheckDepthStencilMatch. 2006-12-04 20:05:09 +01:00
Jan Zerebecki ee44a19966 wined3d: Fix CreateFakeGLContext to work with a foreign context. 2006-12-04 20:00:50 +01:00
Jan Zerebecki 1075367493 wined3d: Avoid XFree on NULL in CheckDeviceType. 2006-12-04 18:53:19 +01:00
Jan Zerebecki 3d6ffee021 wined3d: Rearrange code in CheckDeviceType. 2006-12-04 18:37:59 +01:00
Jan Zerebecki 0d66f794d1 wined3d: Add warn trace for INVALIDCALL case in CheckDeviceType. 2006-12-04 18:37:23 +01:00
Markus Amsler 3127eac2bd wined3d: Remove duplicated code. 2006-12-01 12:27:13 +01:00
H. Verbeet 8a7f427948 wined3d: Select the right shader backend when creating the device. 2006-11-28 12:19:27 +01:00
H. Verbeet 6d66085150 wined3d: Add FBO support for offscreen rendering. 2006-11-17 18:14:13 +01:00
Alexandre Julliard b4f42c94a7 wined3d: Simplify some uses of the WineD3D_Context object. 2006-10-27 15:03:07 +02:00
Alexandre Julliard 6afcf77889 wined3d: The WineD3D_GLContext structure doesn't need to be exported. 2006-10-27 14:42:17 +02:00
Alexandre Julliard 00ddebfafa wined3d: Fix a memory leak (spotted by Eric Pouech). 2006-10-27 14:41:25 +02:00
Ivan Gyurdiev 997e670e12 wined3d: Add D3DTADDRESS to the WINED3D namespace. 2006-10-24 20:06:15 +02:00
Ivan Gyurdiev ce2e980d1b wined3d: Add shader version/end masks to the WINED3D namespace. 2006-10-13 11:15:45 +02:00
Ivan Gyurdiev 4745e602d2 wined3d: Add D3DCLIPPLANE constants to the WINED3D namespace. 2006-10-13 11:15:18 +02:00
Ivan Gyurdiev fb0c932f21 wined3d: D3DFORMAT: Consistently use WINED3D namespace. 2006-10-11 12:17:21 +02:00
Markus Amsler 8192555dff wined3d: Fix DEBUG_SINGLE_MODE. 2006-10-10 11:57:58 +02:00
Ivan Gyurdiev e020eceddf wined3d: Make the shader mode selections per device. 2006-10-09 20:27:55 +02:00
Francois Gouget 4b248447c0 wined3d: Fix '\n' typo. 2006-10-06 17:29:22 +02:00
Francois Gouget 82babbee0b Add missing '\n's to Wine traces. 2006-10-05 17:46:48 +02:00
H. Verbeet 80afd74933 wined3d: Report the correct number of available 4-component float vectors for GLSL. 2006-10-02 21:38:22 +02:00
Ivan Gyurdiev 3dcd3681f3 wined3d: Win64 printf fixes. 2006-10-02 14:38:04 +02:00
H. Verbeet 5abdd7a19f wined3d: Comparing BOOLs against FALSE is redundant. 2006-09-27 09:49:07 +02:00
H. Verbeet 1d839e42e9 wined3d: Add a comment to clarify the point of max_sampler_stages. 2006-09-27 09:48:30 +02:00
H. Verbeet 193f6bbd92 wined3d: Add support for native NPOT textures. 2006-09-27 09:48:11 +02:00
Roderick Colenbrander 4b55964a26 wined3d: Add the missing gamma cap. 2006-09-26 11:39:29 +02:00
Roderick Colenbrander 7c86d91bb9 wined3d: glBlend* fixes. 2006-09-25 17:56:04 +02:00
Paul Chitescu f2aee453f1 wined3d: Avoid crashing when renderer returns no name. 2006-09-13 11:37:06 +02:00
Francois Gouget 06f9532dda Assorted spelling fixes. 2006-09-08 11:04:53 +02:00
Ivan Gyurdiev 2e1cf4d948 wined3d: Add support for R32F and R16F texture formats. 2006-09-07 13:48:32 +02:00
Ivan Gyurdiev bda6d092a5 wined3d: Add support for A16B16G16R16F and A32B32G32R32F texture formats. 2006-08-28 11:46:20 +02:00
Roderick Colenbrander de97fa7a3b wined3d: Better GPU detection. 2006-08-21 12:21:19 +02:00
Jan Zerebecki 387c982d5c wined3d: Fix spelling in a comment. 2006-08-11 11:55:27 +02:00
Roderick Colenbrander c2b6cc9dc4 wined3d: Fix GLSL regression / draw buffers support. 2006-08-09 20:35:59 +02:00
Roderick Colenbrander c856432fab wined3d: Volume texture addressing caps. 2006-08-08 19:37:30 +02:00
Roderick Colenbrander eba1f90ef6 wined3d: Shader declaration cap fixes. 2006-08-08 19:37:23 +02:00
Roderick Colenbrander 194cdfa4b0 wined3d: Shader cap fixes. 2006-08-08 19:35:24 +02:00
Roderick Colenbrander 91998b4d99 wined3d: Textureops caps fix. 2006-08-08 11:15:07 +02:00
Roderick Colenbrander 930a9a1d02 wined3d: texture caps fixes. 2006-08-07 13:52:38 +02:00
Roderick Colenbrander bd6f0b23d6 wined3d: General constant caps fix. 2006-08-07 13:52:03 +02:00
Roderick Colenbrander 3d9e96f3bc wined3d: Volume textures fix. 2006-08-05 11:26:25 +02:00
Roderick Colenbrander 6ded5542b2 wined3d: Raster caps fix. 2006-08-05 11:26:06 +02:00
Roderick Colenbrander 6fedd6c041 wined3d: Primitive misc caps fix. 2006-08-05 11:25:51 +02:00
Roderick Colenbrander 95b047c2fe wined3d: Fix a number of badly reported caps. 2006-08-04 20:47:50 +02:00
H. Verbeet d5238cfb38 wined3d: Split the GLSL check in a check for GLSL vertex shaders and one for GLSL fragment shaders. 2006-07-31 10:53:05 +02:00
Jason Green d353ab7879 wined3d: Start checking for D3DUSAGE_QUERY_* items, improve traces. 2006-07-29 11:49:51 +02:00
Jason Green 72bfe131d1 wined3d: More shader fixes / new instructions.
- Replace gl_FragColor with gl_FragData[0] for GLSL pixel shader output.
- Subtract 1 more constant from total GLSL allowed float constants to
  accommodate the PROJECTION matrix row that we reference.
2006-07-28 14:01:16 +02:00
Jason Green 46c4b88ba5 wined3d: Fix some upside-down rendering issues for shaders. 2006-07-27 12:03:25 +02:00
Stefan Dösinger 3588067b90 wined3d: Blacklist WINED3DFMT_R8G8B8. 2006-07-27 11:57:45 +02:00
Stefan Dösinger a5142837c6 wined3d: Enable all bump mapping formats. 2006-07-26 10:24:37 +02:00
Jason Green 75950b5bf8 wined3d: Replace memset/memcpy routines on stateblock (fixes dynamic shader constants regression). 2006-07-24 12:57:34 +02:00
Stefan Dösinger 127613bc6f wined3d: Whitelist pixelformats instead of blacklisting. 2006-07-24 12:57:34 +02:00
H. Verbeet a8f2c1075a wined3d: Compilation fixes. 2006-07-20 12:11:06 +02:00
Jason Green 718716b77a wined3d: Make the number of floating point shader constants dynamic. 2006-07-19 09:54:30 +02:00
Ivan Gyurdiev ed9848930b wined3d: Improve GetAdapterMonitor stub. 2006-07-11 17:14:46 +02:00
Louis. Lenders 2ce792fd33 wined3d: Add an "\n" to a fixme to fix another overflow (in IWineD3DImpl_CheckDeviceFormatConversion). 2006-07-11 12:41:29 +02:00
Ivan Gyurdiev 771623692e wined3d: Rework shader mode selection.
- currently half the shader selection code (GLSL vs ARB) is in
fillGLcaps. The parts that check for software shaders are in
GetDeviceCaps. That placement, will work, but is definitely not optimal.
FillGLcaps should detect support - it should not make decision as to
what's used, because that's not what the purpose of the function is.
GetDeviceCaps should report support as it has already been selected.
Instead, select shader mode in its own function, called in the
appropriate places.

- unifying pixel and vertex shaders into a single selection is a
mistake. A software vertex shader can be coupled with a hardware arb or
glsl pixel shader, or no shader at all. Split them back into two and add
a SHADER_NONE variant.

- drawprim is doing support checks for ARB_PROGRAM, and making shader
decisions based on that - that's wrong, support has already been
checked, and decided upon, and shaders can be implemented via software,
ARB_PROGRAm or GLSL, so that support check isn't valid.

- Store the shader selected mode into the shader itself. Different types
of shaders can be combined, so this is an improvement. In fact, storing
the mode into the settings globally is a mistake as well - it should be
done per device, since different cards have different capabilities.
2006-07-06 16:07:37 +02:00
H. Verbeet 7f9e61f7d2 wined3d: Use register combiners for texture stage operations.
Make wined3d use register combiners for texture stage operations. In
order to do that the texture unit index needs to be separated from the
texture stage index. For cards that don't support the
NV_register_combiners extension nothing should change.
2006-06-28 16:34:36 +02:00
H. Verbeet a54e36adfe wined3d: Texture limits fixes.
GL_LIMITS(textures) is currently used for both the number of texture
stages and the maximum number of simultaneous textures. In the current
code that's the same, but in a later patch that will be separated,
since a texture stage doesn't have to reference an actual
texture. Also, shaders can access a larger number of samplers than the
number of texture units the fixed function pipeline can access.
2006-06-28 16:06:25 +02:00
Francois Gouget 11ae0f6386 Assorted spelling fixes. 2006-06-16 11:32:29 +02:00
Jan Zerebecki cf8833c467 wined3d: Enable two sided stencil in the caps. 2006-06-13 10:46:29 +02:00
Alexandre Julliard e9cbc66e93 wined3d: Make the virtual table functions static where possible. 2006-06-10 13:15:32 +02:00
Jason Green 0161d6b636 wined3d: Final move of the GLSL registry check (hopefully). 2006-05-27 10:57:32 +02:00
Jason Green cef19b5769 wined3d: Move the GLSL registry check again. 2006-05-26 11:56:11 +02:00
Phil Costin 163ee76592 wined3d: Shader caps fix - code relocation. 2006-05-25 20:17:45 +02:00
Roderick Colenbrander 9c018fd877 wined3d: Fix ARB_imaging abuse. 2006-05-24 10:52:28 +02:00
Jason Green d204540d1f wined3d: Replaced USING_GLSL define with a new wined3d_settings option based on the registry. 2006-05-24 10:40:35 +02:00
Stefan Dösinger 29a8dd47a8 wined3d: Remove a double cap flag. 2006-05-24 10:03:34 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Stefan Dösinger 672fa65334 wined3d: Add more device caps. 2006-05-20 14:05:38 +02:00
Stefan Dösinger ebcbda72c4 wined3d: Allow SYSTEMMEM textures and surfaces. 2006-05-20 14:05:23 +02:00
Stefan Dösinger 566cdcf55c wined3d: Implement IWineD3DDevice::SetDisplayMode. 2006-05-20 14:05:06 +02:00
Phil Costin df3902e6c1 wined3d: Trace output corrections and cleanups. 2006-05-20 13:58:31 +02:00
Phil Costin 1b320431b8 wined3d: Check registry for UseGLSL enabled. 2006-05-18 16:40:32 +02:00
Phil Costin 9413c89c33 wined3d: Add check for GL Shading Language 100 Extension. 2006-05-09 12:39:24 +02:00
Ivan Gyurdiev 07f4f70487 wined3d: QueryInterface corrections. 2006-05-05 20:23:41 +02:00
Stefan Dösinger d04f0507cf wined3d: Implement Init3D and Uninit3D. 2006-04-19 12:43:22 +02:00
Stefan Dösinger 9d67b4287e wined3d: Rename return values from D3D* to WINED3D*. 2006-04-07 14:54:04 +02:00
Stefan Dösinger 63fd9a7a98 wined3d: Add WINED3DTEXTUREFILTERTYPE to wined3d_types.h. 2006-04-06 22:22:35 +02:00
Stefan Dösinger fce54bcc49 wined3d: Add WINED3DDISPLAYMODE to wined3d_types.h. 2006-04-03 12:17:22 +02:00
Stefan Dösinger 6a8578f847 wined3d: Add WINED3DDEVTYPE to wined3d_types.h. 2006-03-30 12:45:57 +02:00
Stefan Dösinger b4b295c2a5 wined3d: Add WINED3DMULTISAMPLE_TYPE to wined3d_types.h. 2006-03-27 11:30:49 +02:00
Stefan Dösinger 913df5b143 wined3d: Consistently use WINED3DRESOURCETYPE. 2006-03-10 21:43:00 +01:00
Stefan Dösinger 2f0c781988 wined3d: Add device caps to wined3d_types.h. 2006-03-07 10:51:34 +01:00
Vitaliy Margolen 46ecb15c5c wined3d: Fix retrieval of driver adapter versions. 2006-03-06 11:43:00 +01:00
Stefan Dösinger 033769f94d wined3d: Add d3d7 and d3d8/9 cap flags to wined3d_types.h. 2006-03-06 11:36:28 +01:00
Vitaly Budovski 3832eb7de4 wined3d: Added OpenGL 2.0 function definitions. 2006-03-06 11:12:14 +01:00
Roderick Colenbrander d13469c1d8 d3d8: Moved the remaining code over to WineD3D (based on patches by
Oliver Stieber).
2006-02-27 12:20:03 +01:00
Roderick Colenbrander b24e69dc38 d3d8: Move the capability detection code over to WineD3D.
Let the few existing parts which need the capabiliteis use the WineD3D
capability structure (gl_info). This info structure contains next to
'flags' inidicating certain features also all GL/GLX functions
pointers. Because D3D8 moves over to the wined3d gl_info structure all
the gl prototypes in d3dcore_gl.h were unneeded and removed.
2006-02-21 11:28:58 +01:00
Jan Zerebecki da2d1f883b wined3d: Make the returned driver version similar to windows. 2006-02-11 12:16:29 +01:00
Roderick Colenbrander 694efd7c6f wined3d: Texture fixes.
Set video memory capabilities, add some checks to SetTexture and
update some comments.
2006-02-06 20:57:42 +01:00
H. Verbeet bd8db45e44 wined3d: Update the QueryInterface functions of IWineD3DBase subclasses. 2006-02-06 11:32:41 +01:00
Vitaly Budovski d599037c4e wined3d: Added support for ARB_POINT_PARAMETERS. 2006-02-02 13:50:31 +01:00
H. Verbeet b884072687 wined3d: Better version string parsing for VENDOR_NVIDIA in
IWineD3DImpl_FillGLCaps.
2006-01-19 12:39:37 +01:00
H. Verbeet 093a034f7f wined3d: In IWineD3DImpl_FillGLCaps use glGetString instead of
glXGetClientString to retrieve the OpenGL vendor.
2006-01-19 11:55:34 +01:00
Raphael Junqueira ee5d72b136 wined3d: Added support for WINED3DFMT_X4R4G4B4. 2005-12-31 13:13:34 +01:00
Willie Sippel fbfb971646 Added more Nvidia card IDs. 2005-11-30 19:45:45 +01:00
Raphael Junqueira 0e68b671f4 Add support for Intel drivers version string.
Update default driver version (nvidia).
2005-11-30 12:02:45 +01:00
Francois Gouget 0edbaf7e80 Remove spaces before '\n' in traces. 2005-11-10 12:14:56 +00:00
Francois Gouget f4c0524ec6 Assorted spelling and case fixes. 2005-11-10 11:39:07 +00:00
Raphael Junqueira c4569d9298 Define GL_EXT_framebuffer_object and GL_EXT_pixelbuffer_object openGL
specs.
Support Mesa GL_VERSION on parse.
2005-11-10 11:04:59 +00:00
Raphael Junqueira 2e9bff702c Fix parsing of version number. 2005-11-08 12:47:04 +00:00
Oliver Stieber 483320c484 Changed the way that 24bit and 32bit Adapter and Buffer formats are
reported allowing EVE online to get past the startup screen and
allowing the Fur demo (amongst others) to run in a window, as under
windows, instead of in fullscreen mode.
2005-10-12 21:07:27 +00:00
Oliver Stieber 80c60f5bad Provide looser device matching for backbuffer and depth buffer
formats. It should allow some games and applications to run without X
being in the correct backbuffer format (e.g. 16 bit games will run
with a 24bit X backbuffer).
2005-10-04 15:50:57 +00:00
Marcus Meissner 0a7de6a758 Use correct minLookup[] array entry. 2005-10-03 10:15:08 +00:00
Oliver Stieber 329d017db3 Start to implement TestCooperativeLevel. 2005-09-21 10:55:03 +00:00
Oliver Stieber 5ea96a851f Implemented occlusion queries using either GL_ARB_occlusion_query or
GL_NV_occlusion_query.
2005-09-21 09:43:13 +00:00
Oliver Stieber b7603859f3 Return the adaptor mode as X8R8G8B8 when BPP is 24 or 32 bits. 2005-09-19 15:25:07 +00:00
Oliver Stieber 4752553d57 Prevent CheckDepthStencilMatch from causing problems if there is a
current active OpenGL context.
2005-09-19 14:31:21 +00:00
Karsten Elfenbein 13fc2f88d6 Added A2R10G10B10 and D3DFMT_D24FS8 modes to all other functions. 2005-09-07 09:25:26 +00:00
Oliver Stieber 33b2c1fd3c Added support for DXT2 and DXT4. 2005-08-29 12:20:02 +00:00
Francois Gouget bcd56fe0e5 Assorted spelling fixes. 2005-08-12 18:22:06 +00:00
Mike McCormack b814be9814 Fix gcc 4.0 warnings. 2005-08-11 10:57:47 +00:00
Oliver Stieber bb6f9b022b Move the setting of states from device to basetexture, states that
relate to the opengl texture object will only be updated when they are
out of sync, this reduces the number of texture object state changes
during game play in Axis and allies from several hundreds to 0 or 1.
2005-08-03 11:00:28 +00:00
Oliver Stieber d15e2f1472 Fixed an off by one error in enumdisplaymodes, allowing sims 2 to
start up.
2005-07-30 19:11:38 +00:00
Oliver Stieber cc884e0ae6 Validate that the texture is no larger than the graphics cards largest
supported texture.
2005-07-30 19:05:58 +00:00
Mike McCormack c6602b406b Signed warning fixes. 2005-07-28 18:33:26 +00:00
Oliver Stieber 7cb748fed2 Makes sure any internal reference counting is passed onto the parent,
any objects referenced by the internal stateblock are released when
the stateblock is released (we don't reference count while a
stateblock is recording, so recorded stateblocks have no references to
clean up).
2005-07-26 18:49:30 +00:00
Raphael Junqueira cc8762a91e - add a new settings for vbo support
- use a struct to handle wined3d settings
- prepare VBO using some abstraction APIs
2005-07-24 17:11:33 +00:00
Oliver Stieber b220ce1343 Correct a few formats that were incorrect. 2005-07-13 19:38:39 +00:00
Oliver Stieber 9253e0e39c Tidy up some comments and formatting. 2005-07-13 14:15:54 +00:00
Francois Gouget 28dc5a8afc Assorted spelling fixes. 2005-07-11 10:59:41 +00:00
Oliver Stieber 9b75356fc4 Tidy up the way caps are managed in GetDeviceCaps and FillGlCaps. 2005-07-10 17:48:07 +00:00
Oliver Stieber 8a6799d47d Implement render targets using either textures, swapchains or
standalone surfaces.
2005-07-07 20:35:05 +00:00
Francois Gouget 02c25a8981 Assorted spelling fixes. 2005-06-30 18:19:33 +00:00
Oliver Stieber 18857f1170 Add support for samplers.
Switch from using d3d9 constants to wined3d constants so that there's
no recursive dependencies.
2005-06-24 11:53:07 +00:00
Oliver Stieber 46e7c30a71 Implement swapchains. 2005-06-23 11:05:24 +00:00
Oliver Stieber 784518d772 Correct GetDeviceCaps so that it uses wined3dcaps as required by the
earlier device caps patch.
2005-06-22 18:30:29 +00:00
Oliver Stieber 4dfabb0bd1 Rename _D3DCAPS9.MaxPixelShaderValue to the correct
_D3DCAPS9.PixelShader1xMaxValue.
2005-06-16 20:42:55 +00:00
Felix Nawothnig 2767543be9 - Output a FIXME when a surface with dimensions not being a power of
two is requested.
- Fail gracefully when IWineD3DImpl_CreateDevice fails to create the
  front- or backbuffer.
2005-06-08 18:34:52 +00:00
Dmitry Timoshkov eba47f1dfe Make remaining OLE interface vtables const. 2005-06-06 19:50:35 +00:00
Daniel Lund a87d8a3db9 Added D3DDEVCAPS_HWRASTERIZATION to the DevCaps for scene
rasterization. Allows GuildWars to start.
2005-05-09 19:32:49 +00:00
Raphael Junqueira 086f77a034 - implement memory access APIs to VertexBuffers
- more valid implementation for IWineD3DImpl_Check* APIs (not more
  S_OK for all cases)
2005-04-28 12:02:03 +00:00
Oliver Stieber 67f2ad4563 - Volume now inherits Resource. This isn't the way Microsoft implements
the interface but it is more correct way (Microsoft even have a
  resource type of volume).
- Moved usage, format, allocatedMemory and size onto the resource
  class structure.
- Refactored Preload for classes that inherit BaseTexture, preload now
  binds the texture instead of bind texture calling preload, bindTexture
  allocated a glTexture if there isn't one.
- Added two new class static members BaseTexture_CleanUp and
  Resource_CleanUp that should be called by classes that implement
  BaseTexture or Resource.
2005-03-29 19:01:00 +00:00
Francois Gouget 93416cdaf7 Assorted spelling fixes. 2005-03-23 13:15:18 +00:00
Oliver Stieber 16e8689008 Implemented guids for wined3d. 2005-03-02 13:44:58 +00:00
Jason Edmeades 1c8eea8b74 Enable parsing of vendor strings not matching the expected template. 2005-02-23 12:42:04 +00:00
Francois Gouget 4d801b66e6 Assorted spelling fixes. 2005-02-10 19:19:35 +00:00
Alexandre Julliard f777d70a63 Only create an X window for top-level windows, not for child windows.
Get rid of the X client window too, it's no longer needed.
2005-01-31 16:34:07 +00:00
Raphael Junqueira f12d5b243a - fix typo in wined3d_interface.h
- add needed defines in wined3d_interface.h
- add IWineD3DVertexDeclarationImpl_ParseToken9 for debug traces
- fix ParseDeclaration9
- limit flood of traces (single shot traces)
2005-01-27 10:40:57 +00:00
Raphael Junqueira b6317bd537 - a very basic blending support on fast drawing path (to have better
performances on last games)
- some defines for VBO support
2005-01-26 21:06:19 +00:00
Jason Edmeades 33025b203c - Handle failures to allocate storage more gracefully.
- Only prototype the interfaces which are subclassed (I overdid it
  last time!).
- Implement Get/Set Texture and GetBackBuffer, plus device's
  GetDisplayMode / GetDeviceCaps.
- Make some of the d3d9 skeleton code issue fixme's to highlight code
  which hasn't been migrated yet.
- Correct the d3d9 headers for D3DSURFACE_DESC which caused stack
  corruption in demos.
2005-01-18 11:42:29 +00:00
James Hawkins 11db0ea655 Use only stored result of Interlocked* in AddRef/Release. 2005-01-12 19:50:22 +00:00
Jason Edmeades 41427857b1 Add render target support, and ensure there is a front and back buffer
created during device creation.
2005-01-09 17:37:02 +00:00
Oliver Stieber 1b8629b3d7 Correct loop check for enum display and include 32bit modes in 24bit. 2005-01-09 16:33:01 +00:00
Jason Edmeades c4de952eb5 Add Clear, Present and EndScene support and fix a bug in the drawing
code.
2004-12-14 11:54:27 +00:00
Jason Edmeades 2003c7ab11 Add {G,S}etRenderState and {G,S}etTextureStageState support, and
ensure the stateblock is fully populated at device startup.
2004-12-13 13:35:38 +00:00
Alexandre Julliard ebe3c529b1 Janitorial: C booleans must not be compared against TRUE. 2004-12-09 14:07:59 +00:00
Jason Edmeades eba27af4f1 Add Get/Set Transform support, plus BeginScene (does nothing). 2004-11-28 15:04:41 +00:00
Jason Edmeades 289562eeb5 - Implement SetStreamSource
- Ensure wined3d objects maintain a reference count of at least that
  of the d3dx version.
2004-11-23 13:52:46 +00:00
Francois Gouget 3bb5b093e8 Assorted spelling fixes. 2004-10-22 22:27:51 +00:00
Jason Edmeades 447d5ed048 Implement the beginnings of the stateblock class, and a first method
to use it.
2004-10-21 20:59:12 +00:00
Jason Edmeades b9e2bedac1 Copy and tidy up the code from dx8 create device into wined3d. Call
from wined3d and d3d8, but short term only use the code for real from
d3d9.
2004-10-08 20:52:33 +00:00
Jason Edmeades ac490fabac Add a IWineD3DDevice object type (empty for now), and create one when
an IDirect3DDevice object is created.
2004-10-07 04:22:21 +00:00
Jason Edmeades b519893e41 Move the GetDeviceCaps into the wined3d library and call from d3d9. 2004-10-06 00:05:29 +00:00
Francois Gouget 67aa858a31 Assorted spelling fixes. 2004-10-05 18:15:29 +00:00
Jason Edmeades c579fa6213 Move the Check* type functions into wined3d and copy from d3d9, and
flag that they are mostly stubs.
2004-10-05 02:14:06 +00:00
Jason Edmeades c3421ea434 Move into wined3d and call from d3d9 the GetAdapterId function and
copy all the gl declarations into the more global wined3d_gl header
file.
2004-09-29 21:26:47 +00:00
Jason Edmeades ae5a436873 - Make d3d8 know about the wined3d device and start using it.
- Move some of the screen mode related functions into wined3d and add
  untested support for the new d3d9 options of providing the format to
  some of the calls.
- Move other functions from the directx interface into the common
  library and implement the calls from d3d9 as well.
- Copy across the first of the functions used to make traces more readable,
  creating utils.c to store them in. Eventually the ones in d3d8 will be
  removed but for now just duplicate the code.
2004-09-28 02:12:12 +00:00
Jason Edmeades 24ab49e250 Create a wined3d interface, and generate a wined3d object in the d3d9
create method. Make the first (simple) call implementation into the
new wined3d interface.
2004-09-23 04:34:27 +00:00