Commit Graph

458 Commits

Author SHA1 Message Date
Roderick Colenbrander cb9252db36 wined3d: Fix a typo in CheckSrgbWriteCapability. We support both X8R8G8B8 and A8R8G8B8. 2008-03-24 20:39:50 +01:00
Roderick Colenbrander 9123e8f374 wined3d: Add more debug code to CheckDeviceFormat. 2008-03-24 20:39:37 +01:00
Roderick Colenbrander e749825793 wined3d: CheckTextureCapability returns TRUE for V8U8. 2008-03-24 12:08:34 +01:00
Roderick Colenbrander 856af1b5d7 wined3d: Add srgb write support to CheckDeviceFormat. 2008-03-22 12:23:23 +01:00
Roderick Colenbrander 9e9ef6238a wined3d: Remove unneeded code in CheckDeviceFormat.
All these checks are done during the capability checks which are
performed under the resource type checks.
2008-03-22 11:46:25 +01:00
Roderick Colenbrander 5d151c0ffc wined3d: Don't continue with CheckDeviceFormat when the texture format isn't around.
It is legal to pass Usage=0 to CheckDeviceFormat and in both this case
and in the case a format isn't available UsageCaps would be 0 and a
format would be reported available.
2008-03-22 11:45:58 +01:00
Roderick Colenbrander 460f0d1608 wined3d: Return WINED3DERR_NOTAVAILABLE when cubemapping isn't supported. 2008-03-22 11:45:41 +01:00
Roderick Colenbrander 616944ae7e wined3d: Add reporting of D3DRTYPE_VOLUME capabilties.
We assume it has the same capabilities as VOLUMETEXTURE. MSDN is very
vague on this topic. Intel/Nvidia/ATI drivers seem to offer nearly the
same caps on both, so do that too.
2008-03-22 11:45:31 +01:00
Roderick Colenbrander 6f3127291f wined3d: When volume textures aren't around (GL_EXT_texture3D not supported) return WINED3DERR_NOTAVAILABLE. 2008-03-22 11:44:11 +01:00
Roderick Colenbrander eef51ed4ca wined3d: We don't offer index/vertex buffer caps. Neither do Windows drivers (at least Nvidia, Ati and Intel). 2008-03-22 11:14:37 +01:00
Roderick Colenbrander 51a8162330 wined3d: Check pixel formats of the same pixel type. 2008-03-21 15:19:05 +01:00
Roderick Colenbrander fd71421ebe wined3d: Report software processing in CheckDeviceFormat. 2008-03-19 17:21:59 +01:00
Roderick Colenbrander 30a3bc2651 wined3d: Add dynamic locking support to CheckDeviceFormat. 2008-03-19 17:21:47 +01:00
Roderick Colenbrander 7fd87f10cd wined3d: There is no need for the !Usage checks at the start of the resource type checks.
The return-path of the code will handle this properly and this also
ensures that the R8G8B8 dxVersion test is reached.
2008-03-19 17:21:34 +01:00
Roderick Colenbrander 0e9d02ded4 wined3d: Add correct autogenmipmap support. 2008-03-18 11:17:42 +01:00
Roderick Colenbrander aa46edd60c wined3d: Add a function which checks the filtering capabilities for a format. 2008-03-18 11:17:31 +01:00
Roderick Colenbrander 2f1e01bbe3 wined3d: Put vertex texture capability checking in its own function. 2008-03-18 11:17:15 +01:00
Roderick Colenbrander 32a32d82c4 wined3d: Put the SRG read capability check in its own function. 2008-03-18 11:17:01 +01:00
Roderick Colenbrander 4e66c9c990 wined3d: Add a function which checks the legacy bump mapping capabilities. 2008-03-18 11:16:48 +01:00
Roderick Colenbrander d44c295651 wined3d: Check the render target capabilities of a resource type. 2008-03-17 11:42:19 +01:00
Roderick Colenbrander ecf24604e2 wined3d: Check the texture capabilities we offer for the different texture types (cube, plain, volume). 2008-03-17 11:41:58 +01:00
Roderick Colenbrander 02f6c9ece8 wined3d: Move depth/stencil verification to CheckDepthStencilCapability. 2008-03-17 11:41:39 +01:00
Artur Szymiec 102b9d12e4 wined3d: Add a device uuid. 2008-03-13 20:44:18 +01:00
Rico Schüller 7cbdb29884 wined3d: Fix copy and past error. 2008-03-06 12:46:50 +01:00
Stefan Dösinger d20768c120 wined3d: Support shininess > 128 if opengl does. 2008-03-05 19:23:06 +01:00
Stefan Dösinger 8b28ca720e wined3d: Use GL_EXT_gpu_program_parameters if available. 2008-03-04 12:15:32 +01:00
Stefan Dösinger 107e80a79c wined3d: Implement a different constant dirtification algorithm.
Add a new property of the shader backend which indicates whether the
shader backend is able to dirtify single constants rather than
dirtifying vshader and pshader constants as a whole. Depending on this
a different Set*ConstantF implementation is used which marks constants
dirty. The ARB shader backend uses this and marks constants clean
after uploading.
2008-03-04 12:15:16 +01:00
Stefan Dösinger 5709a0b4b6 wined3d: Call fixup_extensions before destroying the fake context. 2008-03-03 20:45:48 +01:00
Francois Gouget 29ef0b90ee Assorted spelling, punctuation and case fixes. 2008-03-03 12:04:48 +01:00
James Hawkins c2a627c6e8 janitorial: Remove links to any microsoft site. 2008-03-01 12:17:07 +01:00
Roderick Colenbrander 4ac1b94d96 wined3d: Improved CheckDeviceType. 2008-02-27 14:52:25 +01:00
Stefan Dösinger f912f18b13 wined3d: Move shader model private data into its own structure. 2008-02-26 11:31:39 +01:00
Stefan Dösinger 6269415793 wined3d: Add GL_APPLE_float_pixels. 2008-02-26 11:31:29 +01:00
Roderick Colenbrander f5149e651e wined3d: Check real depth/stencil capabilities based on WGL pixel formats. 2008-02-26 11:29:59 +01:00
Stefan Dösinger f952419651 wined3d: Enable the texcoord init workaround on radeon HD cards on MacOS. 2008-02-19 14:47:59 +01:00
Roderick Colenbrander c2d978410f wined3d: Add separate alpha blend support. 2008-02-18 14:19:57 +01:00
Stefan Dösinger 989d283000 wined3d: Detect and work around the MacOS Geforce 8 PBO brokeness. 2008-02-18 13:36:58 +01:00
Stefan Dösinger b8c613196d wined3d: Fix a syntax error in the ARB vertex program offset shader.
As some Mesa developers pointed out, the GL_ARB_vertex_program grammar
does not allow an immediate value as source argument in ARL. Most
compilers accept it, but since it is not the purpose of the test
program to test for this replace it with a proper constant.
2008-02-18 13:34:37 +01:00
Stefan Dösinger 3e7f1388be wined3d: Add some ATI cards to the version database. 2008-02-07 13:05:20 +01:00
Stefan Dösinger 1c1a6f32ae wined3d: Add infrastructure for faking driver versions.
Often the Linux / MacOS graphics driver version is of no use for
finding a proper driver version to report to the D3D app. So this
patch adds some infrastructure for easy hardcoding of card specific
driver versions to report to the application. This helps applications
which make assumptions based on the driver version, like bug
workarounds.
2008-02-07 13:05:04 +01:00
Stefan Dösinger 74db14728e wined3d: Separate OpenGL and driver version. 2008-02-06 12:43:53 +01:00
Stefan Dösinger 3188d9ae30 wined3d: Move the highpart of the driver version to the gl structure.
While 6.14 is a sane default, we might want to override it on a
per-driver basis, if we have really old Windows drivers on some cards.
2008-02-06 12:43:53 +01:00
Stefan Dösinger b813398467 wined3d: Move the float format check to the big switch statement. 2008-02-05 12:42:20 +01:00
Stefan Dösinger bbeedca67e wined3d: Fix dxtn format check.
We can't return WINED3D_OK straight away because we have yet to check
the other flags, like sRGB correction.
2008-02-05 12:42:12 +01:00
Stefan Dösinger 9d9a640127 wined3d: Correct the srgb reading check. 2008-02-05 12:41:59 +01:00
Francois Gouget d0794c4aeb Assorted spelling fixes. 2008-01-23 21:16:22 +01:00
Austin English 3471f841a1 wined3d: Spelling fixes. 2008-01-18 12:53:33 +01:00
Stefan Dösinger 09bf3d5aea wined3d: Keep track of shaders. 2008-01-14 15:20:42 +01:00
Roderick Colenbrander 916b56391d wined3d: Fix glBlendColorEXT for use on RivaTNT. 2008-01-14 13:10:28 +01:00
Stefan Dösinger c290f4c7a3 wined3d: Detect geforce 7300 cards. 2008-01-08 17:04:36 +01:00
Alexander Dorofeyev 1e23602d4b wined3d: Add zero/near zero vertex rhw special case. 2007-12-26 14:03:48 +01:00
Stefan Dösinger b83dc6bbf6 wined3d: Move the GL info structure into the adapter. 2007-12-20 12:10:08 +01:00
Stefan Dösinger 2d90449500 wined3d: Fixed function vertex attribute types are flexible. 2007-12-20 10:49:42 +01:00
Stefan Dösinger df77e28854 wined3d: Implement D3DFMT_G16R16. 2007-12-18 14:08:18 +01:00
Marco Schuster 96504632de wined3d: Fixed a bug that the 8600M GT could not be detected. 2007-12-12 13:45:42 +01:00
Stefan Dösinger 7f10ee453a wined3d: Use the adapter to read the display mode. 2007-12-11 12:14:35 +01:00
Francois Gouget 5f7a9cea38 Assorted spelling fixes. 2007-12-07 16:35:32 +01:00
Stefan Dösinger 54fa712981 wined3d: Initialize output texcoord .w to 1.0 if needed.
The GL_ARB_vertex_program extension does not define a standard value for
output texture coordinates. This makes problems when using vertex
shaders with fixed function fragment processing because fffp divides the
texture coords by its .w component. This means that gl shaders have to
write to the .w component of texture coords. Direct3D shaders however
do not.
2007-12-07 14:54:22 +01:00
Stefan Dösinger 7ba04e6132 wined3d: Detect the Intel GPU in macbooks. 2007-12-03 13:44:31 +01:00
Stefan Dösinger 8804a972d9 wined3d: Unify bpp to format conversion. 2007-12-03 13:44:18 +01:00
Gerald Pfeifer 04cb111efc wined3d: Fix handling of a special case in IWineD3DImpl_FillGLCaps() and adjust type of loop variable. 2007-12-03 13:17:54 +01:00
Marco Schuster 15e1c57141 wined3d: Added a card ID for a 8600 Mobile GT. 2007-11-29 15:31:54 +01:00
Stefan Dösinger 0cfa7f99e6 wined3d: Add GL_ARB_texture_rectangles to our opengl extensions. 2007-11-29 13:36:16 +01:00
Stefan Dösinger 28170c1440 wined3d: Report some more geforce 7 cards as geforce 7. 2007-11-28 13:40:29 +01:00
Stefan Dösinger bf03075b5e wined3d: Do not cap fragment samplers to 8. 2007-11-21 12:06:04 +01:00
Stefan Dösinger 1fc1fe3c6e wined3d: Use standard wine lists for the resource list. 2007-11-20 13:10:46 +01:00
Stefan Dösinger 73d992050f wined3d: Fix ATI video memory detection typo. 2007-11-14 11:59:28 +01:00
Stefan Dösinger 894a705cc7 wined3d: Load GL_EXT_texture3D from gl 1.2 if the extension is not there. 2007-11-12 14:29:52 +01:00
Stefan Dösinger c25a792902 wined3d: Mark extensions supported which are included in the gl core. 2007-11-12 14:29:45 +01:00
Stefan Dösinger 0587060a08 wined3d: Load GL functions from core if needed. 2007-11-12 14:28:21 +01:00
Stefan Dösinger 07bbf1899d wined3d: Extend the gl extension function loading table with ext info. 2007-11-12 14:26:49 +01:00
Stefan Dösinger 1978ef9a75 wined3d: Load extension functions after finding the supported extensions. 2007-11-12 14:26:05 +01:00
Stefan Dösinger 9fb70b99db wined3d: Load GLSL sampler uniforms at shader link time. 2007-11-09 12:32:11 +01:00
Stefan Dösinger cd1812b473 wined3d: Hide NP2 textures support on R500 and earlier cards. 2007-11-09 12:31:44 +01:00
Stefan Dösinger 883915fc72 wined3d: Fix for MacOS'es incomplete glsl uniform truth. 2007-11-09 12:30:30 +01:00
Stefan Dösinger f79ca75d08 wined3d: Implement a detection for the MacOS OpenGL implementation. 2007-11-09 12:29:55 +01:00
Stefan Dösinger 5ffea6e591 wined3d: Honor the driver's min point size. 2007-11-08 12:05:19 +01:00
Stefan Dösinger c7c785861a wined3d: Replace the position fixup mul-add-add with a MAD. 2007-11-08 12:03:39 +01:00
Stefan Dösinger fb0dde7b27 wined3d: Relative addressing offsets are limited to [-64; 63] in arb. 2007-11-08 11:54:43 +01:00
Stefan Dösinger 654571f2fc wined3d: Add a max varyings member to the gl info structure. 2007-11-06 13:34:47 +01:00
Roderick Colenbrander c7683ee4a3 wined3d: Fix glsl detection bug. 2007-11-05 13:24:37 +01:00
Roderick Colenbrander 59eba5cb41 wined3d: Default to GLSL. This is safe because we now have proper ps2.0/vs2.0 detection. 2007-10-29 13:04:58 +01:00
Roderick Colenbrander efc18d79af wined3d: Detect vertex shader 2.0 support using a pixel shader 2.0 limit.
Without this vertex shader 3.0 is reported on non-Nvidia cards that
only support vertex shader 2.0. Reporting 3.0 would result in slow
software rendering as it is much more advanced than 2.0.
2007-10-29 13:04:49 +01:00
Roderick Colenbrander 6760ce83a4 wined3d: Fix the amount of texture memory in the debug traces. 2007-10-29 13:04:30 +01:00
Roderick Colenbrander ac53711902 wined3d: Print the correct pixel/vertex shader version in a debug trace. 2007-10-29 13:04:11 +01:00
Roderick Colenbrander 50ed6f36d2 wined3d: Add proper PS2.0 detection for older cards with GLSL support. 2007-10-29 13:04:04 +01:00
Roderick Colenbrander 465962dae6 wined3d: Use native shader limits instead of the maximum the driver can handle in software.
This should prevent software fallbacks and and second it will allow for ps2.0/ps3.0 detection.
2007-10-29 13:03:54 +01:00
Chris Robinson eaaa2a82f2 wined3d: Don't report filtering for WINED3DFMT_R32F. 2007-10-15 17:50:47 +02:00
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