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