Commit Graph

206 Commits

Author SHA1 Message Date
Henri Verbeet f5c8153edd wined3d: Handle stateblock capture for default lights created while recording.
For non-recorded stateblocks a light always exists in the device stateblock as
well, since that's where it's copied from. However, when SetLightEnable() is
called for a light that didn't a exist yet while recording a stateblock, the
light is only created on the recorded stateblock.
2010-01-05 12:19:14 +01:00
Henri Verbeet 79a2045395 wined3d: NULL vertex declarations are captured, but not applied. 2009-12-21 15:01:22 +01:00
Henri Verbeet a389fe551e wined3d: IWineD3DStateBlockImpl no longer implements IWineD3DBase. 2009-12-18 11:38:59 +01:00
Henri Verbeet b3defd4c80 wined3d: Rename "wineD3DDevice" to "device". 2009-12-10 11:54:47 +01:00
Henri Verbeet b6ef17f23d wined3d: Remove unused GetDevice() implementations. 2009-12-09 13:51:04 +01:00
Henri Verbeet 54f3dec8e6 wined3d: Rename the "wineD3D" device field to "wined3d". 2009-12-08 12:33:29 +01:00
Henri Verbeet dd5fc79f56 wined3d: The stateblock doesn't really need a parent. 2009-12-04 14:34:59 +01:00
Stefan Dösinger 8eef221d20 d3d: Handle the pointsize_min default difference in d3d8. 2009-11-03 21:22:12 +01:00
Henri Verbeet 48e03bc189 wined3d: Introduce a separate structure for various OpenGL implementation limits. 2009-10-29 13:09:27 +01:00
Henri Verbeet d7b087618b wined3d: Remove some unused GLINFO_LOCATION definitions. 2009-10-29 13:09:20 +01:00
Stefan Dösinger 70d6304a21 wined3d: Use the shader backend reported constant limit outside the shader backend. 2009-10-26 11:41:43 +01:00
Henri Verbeet 6be41fd59a wined3d: Get rid of GL_LIMITS. 2009-10-22 10:46:05 +02:00
Henri Verbeet 594497f4bb wined3d: Simplify IWineD3DStateBlockImpl_Apply().
Consistently use the stateblock's contained states to determine what to apply.
2009-10-15 12:06:18 +02:00
Henri Verbeet ce10d5f186 wined3d: Don't apply more than num_contained_render_states in IWineD3DStateBlockImpl_Apply(). 2009-10-15 12:06:18 +02:00
Henri Verbeet 1f029a30db wined3d: Simplify IWineD3DStateBlockImpl_Capture().
Consistently use the stateblock's contained states to determine what to
capture.
2009-10-14 11:26:38 +02:00
Henri Verbeet a24d14796a wined3d: Remove the useless "changed" and "enabledChanged" fields from struct wined3d_light_info. 2009-10-14 11:26:26 +02:00
Henri Verbeet 3bc9d1894d wined3d: Rename PLIGHTINFOEL to something less awful. 2009-10-14 11:26:17 +02:00
Henri Verbeet 580cd8c5bb wined3d: Get rid of stateblock_copy_values().
Use IWineD3DStateBlockImpl_Capture() for the initial stateblock capture
instead.
2009-10-14 11:26:02 +02:00
Henri Verbeet 8949a2c1ad wined3d: Remove some code that doesn't make sense.
This was introduced by abb11f30cd, but I don't
see how it could ever do something useful. Perhaps that's a lack of
imagination on my part, but the only situation in which device->stateBlock
should be NULL is while creating the initial stateblock, and in that case we
just returned in the line above. Setting the stream frequency of all streams
to 0x01010101 doesn't make sense either.
2009-10-13 11:38:28 +02:00
Henri Verbeet da5b491606 wined3d: Capture on a recorded stateblock doesn't record the vertexdeclaration in d3d9. 2009-10-13 11:38:28 +02:00
Henri Verbeet 526839068f wined3d: Vertex state stateblocks should also record the vertex declaration. 2009-10-13 11:38:28 +02:00
Henri Verbeet 3dbfda1ab3 wined3d: Capture some more renderstates in vertex and pixel stateblocks. 2009-10-09 11:50:29 +02:00
Henri Verbeet 442beb1dcf wined3d: Clear resources that we aren't recording in stateblock_init(). 2009-10-09 11:50:29 +02:00
Henri Verbeet 5c22971561 wined3d: Keep a reference to the vertex declaration initially captured by CreateStateBlock() as well. 2009-10-06 12:02:48 +02:00
Henri Verbeet b5de2fcb1c wined3d: Keep references to the textures initially captured by CreateStateBlock() as well. 2009-10-06 12:02:44 +02:00
Henri Verbeet 048c9450d9 wined3d: Use the actual array sizes to determine the number of the various pixel/vertex states. 2009-10-02 11:53:09 +02:00
Henri Verbeet 8b3f868774 wined3d: Move the pixel/vertex states arrays to stateblock.c. 2009-10-02 11:53:03 +02:00
Henri Verbeet 15d4eee58b wined3d: Use stateblock_init_contained_states() for WINED3DSBT_VERTEXSTATE stateblocks. 2009-10-02 11:52:49 +02:00
Henri Verbeet d500c9b795 wined3d: Add a separate function to initialize the saved states for WINED3DSBT_VERTEXSTATE. 2009-10-02 11:52:43 +02:00
Henri Verbeet 93c949eba5 wined3d: Use stateblock_init_contained_states() for WINED3DSBT_PIXELSTATE stateblocks. 2009-10-01 12:03:55 +02:00
Henri Verbeet 5a01619d31 wined3d: Add a separate function to initialize the saved states for WINED3DSBT_PIXELSTATE. 2009-10-01 12:03:49 +02:00
Henri Verbeet 841afe485e wined3d: Use stateblock_init_contained_states() for WINED3DSBT_ALL stateblocks. 2009-10-01 12:03:34 +02:00
Henri Verbeet c5029f83ec wined3d: Simplify stateblock_savedstates_set().
We only need to handle the case where "value" is TRUE, since the stateblock
data will be filled with zeroes by default.
2009-10-01 12:03:28 +02:00
Henri Verbeet 75fe879c76 wined3d: Get rid of stateblock_savedstates_copy().
This is redundant because we call stateblock_savedstates_set() further down.
2009-10-01 12:03:21 +02:00
Henri Verbeet be0b7355fc wined3d: Add a separate function for initializing the "contained_*" fields from the "changed" field. 2009-09-30 14:31:59 +02:00
Henri Verbeet 5f3425b89b wined3d: Get rid of stateblock_copy(). 2009-09-30 14:31:59 +02:00
Henri Verbeet 345b329217 wined3d: Add a separate function for copying stateblock values. 2009-09-30 14:31:58 +02:00
Henri Verbeet 844dda20ff wined3d: Make some internal stateblock function arguments const. 2009-09-30 14:31:58 +02:00
Henri Verbeet 5737efe71a wined3d: Explicitly pass gl_info to stateblock_savedstates_set(). 2009-09-30 14:31:58 +02:00
Henri Verbeet 49f712beff wined3d: Explicitly pass gl_info to stateblock_savedstates_copy(). 2009-09-29 14:22:34 +02:00
Henri Verbeet 6d3e5a9cce wined3d: Pass IWineD3DStateBlockImpl pointers to stateblock_copy(). 2009-09-29 14:22:34 +02:00
Henri Verbeet 4ed126f5dc wined3d: Clear the correct "activeLights" array in stateblock_copy(). 2009-09-29 14:22:34 +02:00
Henri Verbeet 664057ce6a wined3d: Add a separate function for state block initialization. 2009-09-29 14:22:34 +02:00
Henri Verbeet f9786d7eda wined3d: Just use the actual array size as argument to memcpy() in stateblock_copy(). 2009-09-28 12:38:39 +02:00
Henri Verbeet dca3c6e7c6 wined3d: Keep vertex declaration references in the stateblock. 2009-09-28 12:38:18 +02:00
Henri Verbeet 709aedf5f9 wined3d: Properly keep texture references in the stateblock. 2009-09-28 12:38:12 +02:00
Henri Verbeet 60e32659a7 wined3d: Rename IWineD3DDevice::SetIndices() to IWineD3DDevice::SetIndexBuffer(). 2009-09-25 15:14:44 +02:00
Henri Verbeet 560d63548d wined3d: Remove trailing spaces. 2009-08-27 11:45:37 +02:00
Henri Verbeet 35826e9761 wined3d: Fix a condition in record_lights(). 2009-08-07 12:11:35 +02:00
Henri Verbeet 88162fabb8 wined3d: Get rid of the pointers in WINED3DSURFACE_DESC. 2009-06-15 13:42:29 +02:00