258 Commits

Author SHA1 Message Date
Jason Green
3c03ae2f84 wined3d: Minor trace corrections in Set___ShaderConstants(). 2006-07-21 20:22:19 +02:00
Stefan Dösinger
9423fd2d9f wined3d: Do not try to create a vbo more than once. 2006-07-21 20:21:00 +02:00
Ivan Gyurdiev
99f67c676b wined3d: Respect EnableAutoDepthStencil parameter. 2006-07-21 10:54:43 +02:00
Ivan Gyurdiev
65109002ae wined3d: Do not return WINED3DERR_INVALIDCALL for Phong shading. 2006-07-21 10:53:54 +02:00
Ivan Gyurdiev
0c6c9f04a7 wined3d: Restore recording mode later in ActiveRender(). 2006-07-21 10:53:34 +02:00
Ivan Gyurdiev
b77b72c91b wined3d: Read shader constants from correct stateblock. 2006-07-21 10:53:01 +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
Stefan Dösinger
bffe5a6922 ddraw/wined3d: Remove texture format enumeration functions. 2006-07-18 11:25:22 +02:00
Ivan Gyurdiev
07eb6531a3 wined3d: Fix light state bugs. 2006-07-14 12:39:13 +02:00
H. Verbeet
7090259545 wined3d: Fix specular color handling for register combiners.
By default the FinalCombiner is setup to add the specular color to the
final result of the combiner operations. However, it should only do
this when the WINED3DRS_SPECULARENABLE renderstate is enabled.
2006-07-12 13:20:41 +02:00
Ivan Gyurdiev
345dd49eda wined3d: Fix off-by-one constants bug. 2006-07-11 17:12:24 +02:00
Ivan Gyurdiev
fc2611d4a8 wined3d: Only link and use GLSL program if at least one GLSL shader is available. 2006-07-07 17:28:21 +02:00
Ivan Gyurdiev
1309844913 wined3d: Implement FVF to DECL9 conversion (with tests). 2006-07-06 16:07:38 +02:00
Ivan Gyurdiev
bbe7b40a71 wined3d: Fix STREAM flag override. 2006-07-06 16:07:38 +02:00
Ivan Gyurdiev
b324fc0fdb wined3d: Allow mix of SW vertex and GLSL pixel shader.
Do not attach non-GLSL shaders to the GLSL program, that will cause a
crash. Mix with ARB shaders is never going to happen, because the
selection code will always choose GLSL for both or ARB for both.
2006-07-06 16:07:37 +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
Ivan Gyurdiev
fce0c625f0 wined3d: Cleanup: print constants in device code. 2006-07-03 12:02:04 +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
H. Verbeet
3489f1b9b1 wined3d: Remove some redundant code. 2006-06-27 11:15:54 +02:00
H. Verbeet
f460b38612 wined3d: Fix compilation (VBO constants). 2006-06-27 11:15:47 +02:00
Francois Gouget
9bfbfcbeb4 Assorted spelling, case and grammar fixes. 2006-06-26 13:06:11 +02:00
Stefan Dösinger
2a40642804 wined3d: Fix a bad trace. 2006-06-26 13:03:43 +02:00
Stefan Dösinger
2122026713 wined3d: Create vertex buffer objects for D3D vertex buffers. 2006-06-26 13:03:08 +02:00
Stefan Dösinger
7d31ab95e4 wined3d: Add support for VBOs to the drawing code. 2006-06-26 13:02:19 +02:00
Stefan Dösinger
3518747165 wined3d: Pixel format cleanup. 2006-06-21 12:15:50 +02:00
Paul Vriens
edaac6f696 wined3d: GetScissorRect should use zero-based scissorBox (Coverity). 2006-06-16 14:42:36 +02:00
Francois Gouget
9eb81363ad Add trailing '\n's to ok() calls.
Remove spaces before '\n'.
2006-06-16 11:32:42 +02:00
Francois Gouget
11ae0f6386 Assorted spelling fixes. 2006-06-16 11:32:29 +02:00
H. Verbeet
701ce97d65 wined3d: Add and use GL_EXT_fog_coord defines. 2006-06-16 11:29:31 +02:00
Stefan Dösinger
3862f8e3d7 wined3d: Support more than one back buffer. 2006-06-15 16:51:41 +02:00
Stefan Dösinger
5c3c5903a5 wined3d: Correct vertex fog for transformed vertices and correctly
handle non-vertex, non-table fog.
2006-06-15 12:24:09 +02:00
Jan Zerebecki
c6449b5a91 wined3d: Move a checkGLcall to it's gl call inside an "if". 2006-06-13 10:51:07 +02:00
Jan Zerebecki
7528fc0de1 wined3d: Fix stencil related render states. 2006-06-13 10:50:55 +02:00
Alexandre Julliard
e9cbc66e93 wined3d: Make the virtual table functions static where possible. 2006-06-10 13:15:32 +02:00
Ivan Gyurdiev
621f075fb9 wined3d: Print out sampler state names. 2006-06-10 12:41:54 +02:00
Jason Green
b67cda248d wined3d: Add GLSL helper functions to Device.
- Add functions to attach & detach shader objects, create and delete programs, and maintain the list of programs.
- Add a list of GLSL shader programs to the device which is initialized on Init3D(), and deleted on Release().
2006-06-09 15:19:52 +02:00
Ivan Gyurdiev
4d66615bbb wined3d: Fix missing light recording.
Write a light with the default parameters in disabled state if
capturing a missing light.
2006-06-07 15:20:00 +02:00
H. Verbeet
85ec834f7a wined3d: Don't hardcode type sizes for shader constants. 2006-06-07 11:47:46 +02:00
Ivan Gyurdiev
5f5969b3c5 wined3d: Remove constant type field in stateblock.
It is wrong to maintain a mapping from a constant index to a type
field, because different constant types do not share an index -
boolean constant 0 is supposed to co-exist with floating point
constant 0, not replace it. Drawprim and other code using the type
array to decide whether to look up a constant in bools, floats, or
ints is wrong - you can't make that decision based on the index.
2006-06-06 11:58:54 +02:00
Vitaliy Margolen
93fd4c12f8 wined3d: Properly destroy texture object if we failed to create its surfaces. 2006-05-30 12:34:26 +02:00
Stefan Dösinger
ebcef4a5f6 wined3d: Do not disable GL_BLEND when alpha blending is active. 2006-05-30 12:23:18 +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
Roderick Colenbrander
54e5f9c465 wined3d: Dynamicly load GL_ARB_multitexture functions. 2006-05-25 20:17:32 +02:00
Stefan Dösinger
d5f95961f1 wined3d: Fog fixes. 2006-05-25 10:36:40 +02:00
Stefan Dösinger
e18c89b3f4 wined3d: Silence the offscreen surface creation fixme. 2006-05-25 10:35:10 +02:00
Stefan Dösinger
93db443319 wined3d: Color keying emulation. 2006-05-25 10:34:53 +02:00
Stefan Dösinger
e902cd119f wined3d: Swapchain and back buffer corrections + tests. 2006-05-24 13:56:55 +02:00