Commit Graph

287 Commits

Author SHA1 Message Date
Jan Zerebecki db7b684d30 wined3d: Simplify setting the stencil renderstate. 2006-09-07 16:11:21 +02:00
Ivan Gyurdiev 448f918a39 wined3d: Clean up ActiveRender. 2006-09-07 13:47:13 +02:00
Paul Chitescu 4a581e6030 wined3d: Avoid crashing when ProcessVertices is called with NULL vertex declaration. 2006-09-07 13:46:45 +02:00
András Kovács d1d5f4b646 wined3d: Implement BlendFactor renderstate. 2006-09-07 13:44:02 +02:00
András Kovács c33e6245b5 wined3d: Remove unnecessary glBlendColor in TextureFactor renderstate. 2006-09-07 13:43:53 +02:00
Jan Zerebecki fd15b8d064 wined3d: Use a common function for all D3DCMPFUNC -> GLenum conversions. 2006-08-25 20:04:56 +02:00
Stefan Dösinger e0b21688fa wined3d: Make the destination surface glDirty in UpdateSurface. 2006-08-23 16:54:18 +02:00
Chris Robinson a39e2b51cb wined3d: Don't pass bad values to glAlphaFunc and glDepthFunc. 2006-08-21 12:23:41 +02:00
Chris Robinson 4c88bb84b9 wined3d: Print real unhandled D3DCMPFUNC value. 2006-08-21 12:23:02 +02:00
H. Verbeet 09eb0c40a6 wined3d: Improve float constant loading a bit.
- Use a list to keep track of what constants are set.
- Move TRACEs and checkGLcall calls out of the main constant loading loop.
2006-08-21 12:17:42 +02:00
H. Verbeet 49f4c68e29 wined3d: Lookup GLSL float uniform locations only once per program. 2006-08-21 12:16:27 +02:00
Stefan Dösinger ce5c4d38c4 wined3d: Silence WINED3DRS_DEBUGMONITORTOKEN. 2006-08-16 16:43:32 +02:00
Stefan Dösinger 30ef7f0b08 wined3d: Minor cursor fixes. 2006-08-10 10:54:37 +02:00
Stefan Dösinger bfbcfd2234 wined3d: Watch out for negative results when validating the shader constant range. 2006-08-09 20:35:02 +02:00
Jan Zerebecki ccf0d11352 wined3d: Stub out remaining renderstates. 2006-08-08 11:21:17 +02:00
Jan Zerebecki f5d9b221cf wined3d: Correct check for GL ext. support in MULTISAMPLEANTIALIAS. 2006-08-08 11:21:10 +02:00
Jan Zerebecki f02af24039 wined3d: Add missing newline at the end of traces. 2006-08-08 11:20:15 +02:00
Jan Zerebecki 4d6cfb6351 wined3d: Registry setting for the amount of simulated texture memory.
Set VideoMemorySize under HKCU\Software\Wine\Direct3D to amount in MB
as string.
2006-08-08 11:20:05 +02:00
Francois Gouget ce9b4baad8 Assorted spelling fixes. 2006-08-07 13:52:55 +02:00
Chris Robinson 92bc96a96b wined3d: Avoid NULL dereference. 2006-07-31 17:20:05 +02:00
H. Verbeet c6c6cf1f51 wined3d: Improve IWineD3DDeviceImpl_CreateTexture trace. 2006-07-31 10:53:00 +02:00
Jason Green d353ab7879 wined3d: Start checking for D3DUSAGE_QUERY_* items, improve traces. 2006-07-29 11:49:51 +02:00
Stefan Dösinger 65e5ed60ae wined3d: Do not use the IWineD3DSurface for the cursor. 2006-07-28 12:31:57 +02:00
Kovács András de051649c3 wined3d: Fix CopyRects if pDestPointsArray is NULL. 2006-07-26 15:40:39 +02:00
H. Verbeet 536638918d wined3d: Add real occlusion query support. 2006-07-25 11:22:00 +02:00
Jason Green ac8f2c033c wined3d: Improve traces for D3DTRANSFORMSTATETYPE.
Added debug function for WINED3DTRANSFORMSTATETYPE and changed all
references from D3DTS_* to WINED3DTS_*.
2006-07-24 19:55:27 +02:00
Stefan Dösinger a98ccb543d wined3d: Draw the cursor. 2006-07-24 13:27:15 +02:00
Stefan Dösinger 14c2aa0ed6 wined3d: Use the ddraw blitting code for IWineD3DDevice::ColorFill. 2006-07-24 13:27:15 +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
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