Henri Verbeet
73e042496c
wined3d: Fix a few format specifiers in IWineD3DStateBlockImpl_Capture().
2009-01-02 11:51:54 +01:00
Henri Verbeet
29b826b39e
wined3d: D3DRS_POINTSIZE_MIN is initially 0.0f for d3d8.
2008-12-29 12:16:52 +01:00
Henri Verbeet
de494ffe3c
wined3d: The initial value for D3DRS_POINTSIZE_MAX depends on the pointsize limit.
2008-12-29 12:16:42 +01:00
Henri Verbeet
4a19d893e5
wined3d: Only apply shader constants that changed.
...
This improves performance a bit for applications that use a lot of
shaders with a lot of constants.
2008-12-20 11:11:45 +01:00
Henri Verbeet
ef7365a4cd
wined3d: Set the initial viewport in InitStartupStateBlock().
...
>From 8aa3fb7ceb6fb93abf71520c852403284a9f8c76 Mon Sep 17 00:00:00 2001
From: Henri Verbeet <hverbeet@codeweavers.com>
Date: Fri, 19 Dec 2008 19:21:55 +0100
Subject: wined3d: Set the initial viewport in InitStartupStateBlock().
2008-12-20 11:11:34 +01:00
Henri Verbeet
4adb342327
wined3d: Remove GetFVF() and SetFVF() from IWineD3DDevice.
2008-12-17 14:02:03 +01:00
Henri Verbeet
3e035ddf05
wined3d: Don't leak memory on failure in allocate_shader_constants().
2008-12-12 11:40:44 +01:00
Henri Verbeet
70ed814b95
wined3d: Get rid of the textureDimensions field in the state block.
2008-12-12 11:40:32 +01:00
Henri Verbeet
bcf0b4b128
wined3d: Compare & copy with the correct clipplane size in IWineD3DStateBlockImpl_Capture().
2008-12-10 10:50:30 +01:00
Andrew Talbot
c3cdc671a4
wined3d: Remove unneeded address-of operators from array names.
2008-12-08 22:03:06 +01:00
Henri Verbeet
70968e69ac
wined3d: Use a bitmask to store which bool and int constants are set.
...
Note that constants_set was never actually NULL for
shader_glsl_load_constantsB() and shader_glsl_load_constantsI().
2008-12-03 09:49:10 +01:00
Henri Verbeet
0ae60765de
wined3d: Make functions static where possible.
2008-12-03 09:47:35 +01:00
Henri Verbeet
5532c990b6
wined3d: Const correctness fixes.
2008-12-02 14:04:15 +01:00
Michael Stefaniuc
efeab9d200
wined3d: Use the integer variant of zero instead of casting "0.0".
2008-11-04 11:26:05 +01:00
Alexandre Julliard
6cfef95ce7
wined3d: Convert source files to utf-8.
2008-10-18 19:21:20 +02:00
Rico Schüller
525e30e6b7
wined3d/d3d9: Set the initial scissorrect to the dimesions of the backbuffer from the first swapchain of the device.
2008-09-04 12:26:59 +02:00
Andrew Talbot
0064976d54
wined3d: Remove unneeded address-of operators from array names.
2008-07-14 11:50:22 +02:00
H. Verbeet
a637fda7bf
wined3d: Store the current GLSL program in the backend's private data.
2008-07-08 10:47:30 +02:00
Austin English
6e59cd2c34
Spelling fixes.
2008-04-22 12:20:12 +02:00
Stefan Dösinger
b1d8af7926
wined3d: Update copyright lines.
2008-04-02 20:22:42 +02:00
Alexander Dorofeyev
165970992a
wined3d: Make device palettes dynamically allocated.
2008-03-27 11:09:06 +01:00
Andrew Talbot
19c105c79c
wined3d: Assign to structs instead of using memcpy.
2008-03-21 11:24:05 +01:00
Stefan Dösinger
220d9eb44c
wined3d: Move the dummy texture creation to the device.
2008-02-26 11:31:47 +01:00
Stefan Dösinger
e4f8a2da2b
wined3d: Depth stencil fixes.
2007-11-14 11:58:36 +01:00
Stefan Dösinger
36aef3dc54
wined3d: Hold an internal reference on pixel and vertex shaders.
2007-08-28 11:55:53 +02:00
Stefan Dösinger
9092f557d1
wined3d: Non-primary stateblocks hold an internal reference on indexbuffers.
2007-08-27 18:28:27 +02:00
Stefan Dösinger
d170aabe20
wined3d: Non-primary stateblocks also hold an internal reference to buffers.
2007-08-27 12:00:57 +02:00
Stefan Dösinger
f7530729d5
wined3d: Add the copied light to the right stateblock.
2007-08-27 12:00:49 +02:00
Stefan Dösinger
55b63fe095
wined3d: Reinstall the internal reference on vertex buffers.
2007-08-20 22:32:13 +02:00
Stefan Dösinger
b220905e4a
wined3d: Reinstall the internal reference on the current index buffer.
2007-08-16 11:35:06 +02:00
Stefan Dösinger
76195d9a49
wined3d: Reorganize stateblock::capture a bit.
2007-08-15 09:41:49 +02:00
Stefan Dösinger
f5e6313cf6
wined3d: Restructure Stateblock::apply a bit.
2007-08-15 09:41:43 +02:00
Stefan Dösinger
b21c785482
wined3d: Optimize float constants in stateblocks.
2007-08-15 09:36:07 +02:00
Stefan Dösinger
59fb2928b8
wined3d: Optimize sampler states in stateblocks.
2007-08-15 09:35:49 +02:00
Stefan Dösinger
03ffb73450
wined3d: Optimize texture stage state applying.
2007-08-14 12:29:04 +02:00
Stefan Dösinger
865b82af2c
wined3d: Optimize bool and int pixel shader constants.
2007-08-14 12:28:59 +02:00
Stefan Dösinger
4673b1c68e
wined3d: Optimize bool and int vs constants.
2007-08-14 12:28:52 +02:00
Stefan Dösinger
274f77d497
wined3d: Do not copy the saved states structure into the primary stateblock.
2007-08-14 12:28:45 +02:00
Stefan Dösinger
92ce028a0b
wined3d: Optimize transform state in stateblocks.
2007-08-14 12:28:40 +02:00
Stefan Dösinger
93155ea087
wined3d: Optimize render states in the stateblock.
2007-08-13 11:37:25 +02:00
Stefan Dösinger
28084c5f80
wined3d: Remove primary stateblock fixme.
2007-08-13 11:36:50 +02:00
Stefan Dösinger
e7cbb340dc
wined3d: Remove stateblock::set.*.
2007-08-13 11:36:43 +02:00
Stefan Dösinger
f41ab3be9b
wined3d: Remove ugly code from stateblock init.
2007-08-13 11:36:14 +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
440ca84680
wined3d: Fix various incorrect uses of GL_LIMITS(texture_stages) and GL_LIMITS(sampler_stages).
2007-06-22 12:19:10 +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
622f62d352
wined3d: Enable the loading and reloading of gamma corrected textures.
2007-06-07 13:02:04 +02:00
H. Verbeet
785771272a
wined3d: Get rid of the BaseVertexIndex parameter to IWineD3DDeviceImpl_SetIndices, use SetBaseVertexIndex instead.
2007-06-06 12:10:47 +02:00
Stefan Dösinger
cd7ed61cfa
wined3d: Do not enable GL_APPLE_client_storage for the dummy textures.
2007-06-04 12:52:10 +02:00
Felix Nawothnig
18c9e5d5d0
wined3d: Use GL_TEXTURE_2D for dummy textures.
2007-03-30 11:25:23 +02:00
H. Verbeet
23cd4475f6
wined3d: Correct various texture limits checks.
2007-03-13 11:53:28 +01:00
H. Verbeet
19d223cade
wined3d: Store multiple constant indices per list entry.
2007-02-28 13:35:34 +01:00
H. Verbeet
1a07d3142c
wined3d: Get rid of any remaining d3d9 stuff in stateblock.c.
2007-02-15 14:21:03 +01:00
Stefan Dösinger
acadf3f241
wined3d: Replace the light chain with a hashmap.
2007-02-14 20:44:58 +01:00
Stefan Dösinger
d4b63bbd87
wined3d: Store the scissor rect in the stateblock.
2007-01-10 22:01:20 +01:00
Stefan Dösinger
478d22f742
wined3d: Do not keep internal references on index buffers.
2007-01-08 20:59:17 +01:00
Stefan Dösinger
3581d8e8d8
wined3d: Do not keep internal references on vertex buffers.
2007-01-08 20:59:06 +01:00
Stefan Dösinger
467fa4e702
wined3d: Do not keep internal references on pixel shaders.
2007-01-08 20:58:53 +01:00
Stefan Dösinger
7123d617a4
wined3d: Do not keep internal references on vertex shaders.
2007-01-08 20:58:45 +01:00
Stefan Dösinger
15f91b4ad3
wined3d: Do not keep internal references to the vertex declaration.
2007-01-08 20:58:36 +01:00
Stefan Dösinger
197ec1c179
wined3d: Remove IWineD3DDevice_ApplyStateChanges.
2007-01-02 12:22:04 +01:00
Stefan Dösinger
8365b2819a
wined3d: Catch nop sampler changes.
2006-12-20 17:09:08 +01:00
Stefan Dösinger
762af471e8
wined3d: Move WINED3DTSS_COLOROP to the state table.
2006-12-20 17:06:00 +01:00
Stefan Dösinger
1e264e5dd4
wined3d: Temporary disable nvrc junk texture skipping.
2006-12-20 17:05:11 +01:00
Stefan Dösinger
3e05e133f9
wined3d: Remove the unused tween factor stateblock member.
2006-12-11 12:47:04 +01:00
Stefan Dösinger
a628b99d63
wined3d: Remove the unused stateblock vertex blend member.
2006-12-11 12:46:55 +01:00
Ivan Gyurdiev
4934b7ae79
wined3d: Add D3DLINEPATTERN to the WINED3D namespace.
2006-10-31 12:11:09 +01:00
Ivan Gyurdiev
50130fdfdb
wined3d: Add D3DPATCHEDGESTYLE to the WINED3D namespace.
2006-10-31 12:11:01 +01:00
Ivan Gyurdiev
908853f63d
wined3d: Add D3DMATERIALCOLORSOURCE to the WINED3D namespace.
2006-10-30 12:06:17 +01:00
Ivan Gyurdiev
206d248e48
wined3d: Add D3DCMPFUNC to the WINED3D namespace.
2006-10-30 12:06:10 +01:00
Ivan Gyurdiev
2b6deb8637
wined3d: Add D3DSTENCILOP to the WINED3D namespace.
2006-10-30 12:06:03 +01:00
Ivan Gyurdiev
f5cc612842
wined3d: Add D3DFILLMODE to the WINED3D namespace.
2006-10-30 12:05:55 +01:00
Ivan Gyurdiev
02fb9f6f41
wined3d: Add D3DCULL to the WINED3D namespace.
2006-10-30 12:05:48 +01:00
Ivan Gyurdiev
16767d21e1
wined3d: Add D3DSHADEMODE to the WINED3D namespace.
2006-10-30 12:05:36 +01:00
Ivan Gyurdiev
042fa7be8b
wined3d: Add D3DBLENDOP to the WINED3D namespace.
2006-10-30 12:05:31 +01:00
Ivan Gyurdiev
4eced8ea24
wined3d: Add D3DFOGMODE to the WINED3D namespace.
2006-10-30 12:05:24 +01:00
Ivan Gyurdiev
a648d4e3a3
wined3d: Set correct default for DMAPOFFSET sampler state.
2006-10-30 11:53:13 +01:00
Ivan Gyurdiev
5f79e80827
wined3d: Add D3DZBUFFERTYPE to the WINED3D namespace.
2006-10-24 20:06:45 +02:00
Ivan Gyurdiev
10cbffb335
wined3d: Add D3DBLEND to the WINED3D namespace.
2006-10-24 20:06:38 +02:00
Ivan Gyurdiev
4f611bc0e0
wined3d: Add D3DTA masks to the WINED3D namespace.
...
Also fix usage of D3DTSS/D3DTA in ddraw.
2006-10-24 20:06:30 +02:00
Ivan Gyurdiev
997e670e12
wined3d: Add D3DTADDRESS to the WINED3D namespace.
2006-10-24 20:06:15 +02:00
Ivan Gyurdiev
9846602412
wined3d: Add D3DTEXTURETRANSFORMTYPE to the WINED3D namespace.
2006-10-13 11:15:31 +02:00
Ivan Gyurdiev
6f0bb0f6fc
wined3d: Add D3DVERTEXBLENDFLAGS to the WINED3D namespace.
2006-10-13 11:14:33 +02:00
Ivan Gyurdiev
c912032aa5
wined3d: Add D3DTEXTUREOP to the WINED3D namespace.
2006-10-13 11:13:02 +02:00
Ivan Gyurdiev
ac37163124
wined3d: Merge D3DMATRIX types into one type in WINED3D namespace.
2006-10-12 12:35:00 +02:00
Ivan Gyurdiev
5f2987ae32
wined3d: Merge VIEWPORT types into one type in WINED3D namespace.
2006-10-11 12:21:54 +02:00
Ivan Gyurdiev
90f5be2bef
wined3d: Merge MATERIAL types into one type in WINED3D namespace.
2006-10-11 12:21:14 +02:00
Ivan Gyurdiev
837027fcb7
wined3d: D3DTEXTURESTAGESTATETYPE: Consistently use in WINED3D namespace.
2006-10-11 12:18:53 +02:00
Ivan Gyurdiev
3dcd3681f3
wined3d: Win64 printf fixes.
2006-10-02 14:38:04 +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
H. Verbeet
efa5f78598
wined3d: Free the float constant map arrays for all stateblocks.
2006-08-21 12:16:06 +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
Jason Green
75950b5bf8
wined3d: Replace memset/memcpy routines on stateblock (fixes dynamic shader constants regression).
2006-07-24 12:57:34 +02:00
Ivan Gyurdiev
99272f0dee
wined3d: Correct initial render states.
2006-07-21 10:54:12 +02:00
Jason Green
718716b77a
wined3d: Make the number of floating point shader constants dynamic.
2006-07-19 09:54:30 +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
9bfbfcbeb4
Assorted spelling, case and grammar fixes.
2006-06-26 13:06:11 +02:00
Alexandre Julliard
e9cbc66e93
wined3d: Make the virtual table functions static where possible.
2006-06-10 13:15:32 +02:00
Jason Green
1f1057fc9b
wined3d: Move constant loading out of DrawPrimDrawStrided() and enable
...
loading float constants for GLSL.
- DrawPrim is just too big of a function. This separates the passing
of constants to the shader into new functions.
- Fixes an off-by-one error when loading vertex declaration constants
(should be <, not <=)
- Adds a function for GLSL loading of constants (aka Uniforms)
- Adds a GLSL program variable to the stateblock and sets it to 0 (a
future patch will actually create this program)
2006-06-09 13:26:51 +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
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
Roderick Colenbrander
54e5f9c465
wined3d: Dynamicly load GL_ARB_multitexture functions.
2006-05-25 20:17:32 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Ivan Gyurdiev
7757d7bc5c
wined3d: Fix incorrect sizeof.
2006-05-15 16:04:07 +02:00
Ivan Gyurdiev
07f4f70487
wined3d: QueryInterface corrections.
2006-05-05 20:23:41 +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
H. Verbeet
c2fe85e658
wined3d: Release the vertex declaration during stateblock cleanup.
2006-02-10 14:52:27 +01:00
H. Verbeet
bd8db45e44
wined3d: Update the QueryInterface functions of IWineD3DBase subclasses.
2006-02-06 11:32:41 +01:00
H. Verbeet
c6515ab307
wined3d: Update refcounts when storing references in IWineD3DStateBlockImpl_Capture.
...
Move TRACEs to the top of their code blocks.
2006-02-06 11:32:13 +01:00
Francois Gouget
6526c3772d
Add trailing '\n's to ok() calls.
...
Remove spaces before '\n' in traces.
2006-01-03 12:10:37 +01:00
Oliver Stieber
e76969b0d6
wined3d: Internal reference counting.
...
Change most references to resources parent into references to the
resource, so that external reference counts match DirectX but object
aren't released if they are still referenced by the stateblock.
2005-12-15 10:25:47 +01:00
Oliver Stieber
aa9ce3577a
Added support for vertex and pixel shader constants that have no type
...
i.e. they haven't been set yet or are clear.
2005-11-29 17:05:54 +01:00
Francois Gouget
6d442aeb34
Assorted spelling fixes.
2005-11-23 20:14:43 +01:00
Francois Gouget
0edbaf7e80
Remove spaces before '\n' in traces.
2005-11-10 12:14:56 +00:00
Oliver Stieber
1f2a9e2c31
Move the softwareVertexProcessing flag from the stateblock to the
...
device because its state shouldn't be recorded in a stateblock.
2005-10-29 10:30:36 +00:00
Oliver Stieber
b3563daca2
Implement state tracking for pixel shader constants.
2005-09-28 10:13:00 +00:00
Oliver Stieber
0c2fcf2efe
Added support for state management of vertex shader constants via
...
stateblocks.
2005-09-21 10:19:29 +00:00
Oliver Stieber
7df17cecce
Stop vertex shader constants from being set at the same time as the
...
vertex shader when a stateblock is applied.
2005-09-19 14:30:34 +00:00
Oliver Stieber
3f24b9164d
Fix quite a few texturing problems and cases where text isn't being
...
correctly displated.
2005-08-22 10:07:10 +00:00
Oliver Stieber
9b0b803b47
Add support for vertex shader constants to the stateblock.
2005-08-17 10:27:01 +00:00
Oliver Stieber
313b01073c
Track the state of softwareVertexProcessing.
2005-08-11 10:31:40 +00:00
Oliver Stieber
bbc4f86aeb
Fix stateblock loop errors.
2005-08-08 17:59:02 +00:00
Oliver Stieber
4e0f6a4501
Allow the WINED3DSBT_IMPL to be applied so that states can be synced
...
between render target contexts.
2005-08-08 11:01:17 +00:00
Oliver Stieber
d344162f41
Separate the setting of the DirectX texture and sampler states from
...
the setting of OpenGL states (now in applyTextureStateState and
applySamplerState).
2005-08-01 10:58:31 +00:00
Oliver Stieber
5615513877
Separate the management of DirectX states and openGL states.
2005-08-01 09:20:55 +00:00
Oliver Stieber
7cb748fed2
Makes sure any internal reference counting is passed onto the parent,
...
any objects referenced by the internal stateblock are released when
the stateblock is released (we don't reference count while a
stateblock is recording, so recorded stateblocks have no references to
clean up).
2005-07-26 18:49:30 +00:00
Oliver Stieber
9253e0e39c
Tidy up some comments and formatting.
2005-07-13 14:15:54 +00:00
Francois Gouget
28dc5a8afc
Assorted spelling fixes.
2005-07-11 10:59:41 +00:00
Oliver Stieber
abb11f30cd
Implemented stateblocks in wined3d.
2005-07-05 14:05:18 +00:00
Dmitry Timoshkov
eba47f1dfe
Make remaining OLE interface vtables const.
2005-06-06 19:50:35 +00:00
Oliver Stieber
7b261656fd
Added a stubbed out version of query to d3d9 and wined3d.
...
Update the d3d9 headers and creates wined3d types where d3d9 and d3d8
are incompatible.
2005-03-03 13:57:15 +00:00
Oliver Stieber
16e8689008
Implemented guids for wined3d.
2005-03-02 13:44:58 +00:00
James Hawkins
11db0ea655
Use only stored result of Interlocked* in AddRef/Release.
2005-01-12 19:50:22 +00:00
Jason Edmeades
41427857b1
Add render target support, and ensure there is a front and back buffer
...
created during device creation.
2005-01-09 17:37:02 +00:00
Jason Edmeades
c4de952eb5
Add Clear, Present and EndScene support and fix a bug in the drawing
...
code.
2004-12-14 11:54:27 +00:00
Jason Edmeades
2003c7ab11
Add {G,S}etRenderState and {G,S}etTextureStageState support, and
...
ensure the stateblock is fully populated at device startup.
2004-12-13 13:35:38 +00:00
Jason Edmeades
eba27af4f1
Add Get/Set Transform support, plus BeginScene (does nothing).
2004-11-28 15:04:41 +00:00
Jason Edmeades
289562eeb5
- Implement SetStreamSource
...
- Ensure wined3d objects maintain a reference count of at least that
of the d3dx version.
2004-11-23 13:52:46 +00:00
Jason Edmeades
447d5ed048
Implement the beginnings of the stateblock class, and a first method
...
to use it.
2004-10-21 20:59:12 +00:00