304 Commits

Author SHA1 Message Date
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