Andrew Talbot
2e16552327
wined3d: Void functions should not return a value.
2007-06-07 13:00:08 +02:00
H. Verbeet
6ee356fca0
wined3d: Get rid of the pBaseVertexIndex parameter to IWineD3DDeviceImpl_GetIndices, use GetBaseVertexIndex instead.
2007-06-07 11:20:48 +02:00
H. Verbeet
262240adce
wined3d: Add IWineD3DDevice_GetBaseVertexIndex to retrieve the base vertex index.
2007-06-07 11:20:48 +02:00
Lei Zhang
f00670df61
wined3d: Various spelling fixes.
2007-06-06 13:40:01 +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
H. Verbeet
45b531fcea
wined3d: Make sure the color buffer is not modified by depth_blt().
2007-06-06 12:10:39 +02:00
Chris Robinson
1e64bb93a4
wined3d: Add a few missing checkGLcall calls.
2007-06-05 12:19:10 +02:00
H. Verbeet
7de83c18bd
wined3d: Rename IWineD3DDeviceImpl_SetBasevertexIndex to IWineD3DDeviceImpl_SetBaseVertexIndex.
2007-06-05 10:57:45 +02:00
H. Verbeet
c4a0a2b918
wined3d: TRACE the Color parameter in IWineD3DDeviceImpl_Clear.
2007-06-05 10:57:37 +02:00
H. Verbeet
93dcfe350d
wined3d: Return WINED3DERR_INVALIDCALL in DrawIndexedPrimitive if no index buffer is set.
2007-06-04 12:58:37 +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
Stefan Dösinger
2854c54201
wined3d: Keep GL_TEXTURE_2D enabled when using dummy textures.
2007-05-31 13:08:09 +02:00
Stefan Dösinger
b6e87d47d5
wined3d: Don't mess with nv texture shaders if its not supported.
2007-05-31 13:08:01 +02:00
Kolbjoern Fredheim
cb8a8182d1
wined3d: Implemented converting X1R5G5B5 format to R5G5B5A1 to emulate color-keying.
2007-05-22 12:26:49 +02:00
Andrew Riedi
a9c2e15cf6
wined3d: Add hardware cursor support.
2007-05-16 14:27:39 +02:00
Francois Gouget
0acb5810bf
Assorted spelling fixes.
2007-05-15 18:09:16 +02:00
Marcus Meissner
4b9fedbb06
wined3d: Fixed swapchain context NULL ptr checks.
2007-05-14 14:24:27 +02:00
H. Verbeet
c3c5724789
wined3d: WINED3DSIO_POW should use the absolute value of the first source register.
2007-05-11 13:24:15 +02:00
Stefan Dösinger
e40af7d3fa
wined3d: Prevent wrong bumpenvmap warnings.
2007-05-11 11:28:20 +02:00
Stefan Dösinger
093261b729
wined3d: Only addref clippers if one exists.
2007-05-11 11:26:40 +02:00
Stefan Dösinger
a90f650fd2
wined3d: Implement DDBLT_DEPTHFILL on the active depth stencil target.
2007-05-11 11:25:41 +02:00
Stefan Dösinger
5c48d504fc
wined3d: Destroying the resource frees all private data.
...
Also adds a test for ddraw, d3d8 and d3d9.
2007-05-11 11:22:31 +02:00
Stefan Dösinger
e7b68eec34
ddraw: Use point filter for blit operations.
...
D3DTEXF_NONE is a special value for mipmapping which disabled
mipmapping, but it is not a valid mag / min filter parameter.
D3DTEXF_POINT is what we want
2007-05-11 11:21:29 +02:00
Francois Gouget
f999a9e433
wined3d: Add a missing '\n' to a trace.
2007-05-11 11:20:34 +02:00
H. Verbeet
d7596086bc
wined3d: Trace the VBO and stream number as well in drawPrimitiveTraceDataLocations.
2007-05-10 12:24:59 +02:00
H. Verbeet
79ca4e022d
wined3d: Load texture coordinates even if no texture is bound to that stage at this time.
2007-05-10 12:24:52 +02:00
H. Verbeet
cde60c0b94
wined3d: Split texture coordinate loading from loadVertexData().
2007-05-10 12:24:39 +02:00
H. Verbeet
5188ab4efa
wined3d: Calling glDisableClientState() from loadVertexData() is redundant.
...
unloadVertexData() will already have done this if necessary.
2007-05-10 12:24:19 +02:00
H. Verbeet
f8714d771a
wined3d: Unload vertex weight data in case of EXT_VERTEX_WEIGHTING as well.
2007-05-10 12:24:07 +02:00
Stefan Dösinger
d08585e6ec
wined3d: Manage private data in a wine linked list.
2007-05-10 12:10:20 +02:00
Stefan Dösinger
81504d6a2d
wined3d: Support bump environment mapping using GL_NV_texture_shader.
2007-05-10 11:40:27 +02:00
Stefan Dösinger
4a8b55d456
wined3d: Unload vertex weight data in unloadVertexData.
2007-05-10 11:40:15 +02:00
Stefan Dösinger
ca52d34189
wined3d: Some more ProcessVertices fixes.
...
Remove vbos from the input strided data from the fixed function
attributes explicitly and avoid writing beyond the end of a temporary
buffer when cloning a windows bug.
2007-05-09 12:08:12 +02:00
Stefan Dösinger
28170f0474
wined3d: Implement environment bump mapping with GL_ATI_envmap_bumpmap.
2007-05-09 12:07:32 +02:00
Stefan Dösinger
992834016a
wined3d: Report only D16, D24S8 and D24X8 depth stencil formats as supported.
2007-05-09 12:07:09 +02:00
Stefan Dösinger
f2e30a0a1c
wined3d: Unset the StreamIsUP flag in ProcessVertices.
2007-05-08 18:29:15 +02:00
Stefan Dösinger
7538f8d620
wined3d: Fix front buffer coords for gdi surfaces.
2007-05-08 18:28:48 +02:00
Stefan Dösinger
c9bc4ee760
wined3d: Handle DDPCAPS_ALPHA.
2007-05-08 18:28:38 +02:00
Stefan Dösinger
0fb41a8845
wined3d: Make the blit -> flip work for windowed rendering.
2007-05-08 18:28:08 +02:00
Stefan Dösinger
d93e161b1f
d3d: Move clippers from DDraw to wined3d.
2007-05-08 18:27:44 +02:00
Stefan Dösinger
c87d5352a5
wined3d: Full surface DXTn copy.
...
Height * Pitch is not a valid way to calculate the surface size for
DXTn surfaces. Instead of messing with format specific formulas just
use the size stored in the destination surface.
2007-05-07 21:42:45 +02:00
H. Verbeet
89245248c7
wined3d: Handle the ps_3_0 vPos field.
2007-05-04 13:41:54 +02:00
H. Verbeet
5d00923017
wined3d: Remove some redundant fields from IWineD3DBaseTextureImpl.
2007-05-04 13:41:45 +02:00
H. Verbeet
7b48db196f
d3d: Fix the surface locking rectangle validation.
2007-05-04 13:41:13 +02:00
H. Verbeet
1fca7eccb0
wined3d: Improve a few VBO traces.
2007-05-04 13:40:53 +02:00
H. Verbeet
81edcea020
wined3d: Bind GL_FRAMEBUFFER_EXT rather than GL_DRAW_FRAMEBUFFER_EXT in color_fill_fbo.
2007-05-04 13:40:45 +02:00
H. Verbeet
b66791118e
wined3d: Make the IWineD3DDeviceImpl_ColorFill TRACE a bit more useful.
2007-05-04 13:40:36 +02:00
H. Verbeet
d9b7369255
wined3d: Flip the coordinate system rather than the coordinates itself for onscreen surfaces in stretch_rect_fbo.
2007-05-04 13:40:28 +02:00
Stefan Dösinger
adb9b13b81
wined3d: Implement vertex blending using GL_ARB_vertex_blend.
2007-05-03 14:24:46 +02:00
Stefan Dösinger
d913744f1e
d3d: Calculate the size of WINED3DFVF_XYZBx FVFs.
2007-05-03 14:24:16 +02:00
Stefan Dösinger
94b3fddec8
d3d: Pass the cube face to Create*Texture's surface creation callback.
2007-05-01 11:42:25 +02:00
H. Verbeet
3226ad451f
wined3d: Fix the return value for IWineD3DDeviceImpl_ColorFill.
2007-04-27 11:13:54 +02:00
Jesse Allen
00a84b0cb2
wined3d: Remove fake nvidia card in GetAdapterIdentifier.
2007-04-26 14:59:14 +02:00
Stefan Dösinger
460f71dcf8
d3d: Fix ProcessVertices.
...
IDirect3DDevice9::ProcessVertices takes a vertex declaration, not a
vertex buffer. The source for ProcessVertices is taken from the
stateblock, not the vertex declaration.
2007-04-26 14:54:29 +02:00
Stefan Dösinger
32cfbd127c
wined3d: Implement CreateVertexDeclarationFromFVF.
2007-04-26 14:53:48 +02:00
Stefan Dösinger
aec1553e50
wined3d: Add a method to create a declaration from a fvf.
2007-04-26 14:53:07 +02:00
Stefan Dösinger
61d1abb1c1
wined3d: Do not allocate surfaces unless needed.
2007-04-26 14:51:56 +02:00
H. Verbeet
2100b9dce9
wined3d: The second parameter to glTexImage3DEXT isn't a GLenum.
2007-04-24 10:20:39 +02:00
H. Verbeet
950014b41f
wined3d: Improve IWineD3DVolumeImpl_LoadTexture TRACE output.
2007-04-24 10:20:25 +02:00
H. Verbeet
af8e6ed14a
wined3d: Actually use the calculated mipmap surface sizes in IWineD3DDeviceImpl_CreateVolumeTexture.
2007-04-24 10:20:11 +02:00
H. Verbeet
b643ab3620
wined3d: Output pretty GL errors in checkGLcall and vcheckGLcall.
2007-04-24 10:19:51 +02:00
Fabian Bieler
e28630bc32
wined3d: Remove usesFog flag from IWineD3DVertexShaderImpl.
2007-04-23 13:55:45 +02:00
Stefan Dösinger
c42a1dc226
wined3d: The cursor texture doesn't have GL_APPLE_client_storage backing.
2007-04-20 13:09:09 +02:00
Stefan Dösinger
fe3ebb3c42
wined3d: Do not upload to the vbo if there's nothing to do.
2007-04-20 13:04:25 +02:00
H. Verbeet
a7638ac5a2
wined3d: Remove GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT from debug_fbostatus().
2007-04-19 11:56:23 +02:00
Bernd Buschinski
aff22d0472
wined3d: Fix drawStridedSlow typo.
2007-04-18 13:13:17 +02:00
H. Verbeet
e0a94b906c
wined3d: Implement ColorFill using FBOs, if they're being used.
2007-04-17 11:13:14 +02:00
H. Verbeet
e49c480820
wined3d: Don't try to clear the depth stencil if there is none.
2007-04-17 11:13:03 +02:00
H. Verbeet
deeeda6802
wined3d: Properly handle the difference between GL_BACK and GL_FRONT for onscreen surfaces.
2007-04-17 11:12:52 +02:00
H. Verbeet
5fddfd5bbc
wined3d: Use surface_get_gl_buffer where appropriate.
2007-04-17 11:12:43 +02:00
H. Verbeet
1b9a5ba682
wined3d: Add a function to determine if a surface is the front or the backbuffer for a swapchain, and return the corresponding GLenum.
2007-04-17 11:12:34 +02:00
H. Verbeet
74b5c87ebd
wined3d: Set the FBO drawbuffer using glDrawBuffer when ARB_DRAW_BUFFERS is not supported.
2007-04-17 11:12:22 +02:00
H. Verbeet
863a0bfe33
wined3d: Ignore SetTextureStageState on unsupported texture stages.
2007-04-17 11:12:09 +02:00
H. Verbeet
b154081356
wined3d: Use GL_UNSIGNED_BYTE as data type for WINED3DFMT_A8.
2007-04-17 11:11:55 +02:00
H. Verbeet
3777ef3a71
wined3d: Dump the FBO's attachments when its status is GL_FRAMEBUFFER_UNSUPPORTED_EXT.
2007-04-17 11:11:41 +02:00
H. Verbeet
c4cc10a595
wined3d: Add a function for dumping FBO status codes.
2007-04-17 11:11:31 +02:00
Jan Zerebecki
58c7c51485
wined3d: Remove resourceStoreCriticalSection.
2007-04-16 13:51:56 +02:00
Stefan Dösinger
725057da47
d3d: Remove dependency on ddraw.h header.
2007-04-16 13:20:15 +02:00
Stefan Dösinger
8a5b6df483
d3d: Enumerate palettized formats for ddraw.
2007-04-16 12:12:34 +02:00
Fabian Bieler
c4bbed4854
wined3d: Mark vertex shader 3.0 as foggy shaders if they write out the fog coord.
2007-04-13 12:58:12 +02:00
H. Verbeet
a79654d339
wined3d: Fix some swizzles on scalars.
2007-04-13 12:56:06 +02:00
Stefan Dösinger
0d88a38238
wined3d: Dirtify the shader and declaration states if the bound interface is destroyed.
2007-04-12 16:09:12 +02:00
H. Verbeet
2423c9f003
wined3d: Dirtify the sampler used by IWineD3DSurface_PreLoad in IWineD3DSurfaceImpl_BltOverride.
2007-04-10 21:39:43 +02:00
H. Verbeet
8d3c078e6c
wined3d: Disable the scissor test for depth blits.
2007-04-10 21:39:32 +02:00
H. Verbeet
384ad311f3
wined3d: Disable the scissor test in stretch_rect_fbo.
2007-04-10 21:39:24 +02:00
H. Verbeet
f0fcf7e133
wined3d: Remove some redundant IWineD3DSurface_PreLoad calls from stretch_rect_fbo.
2007-04-10 21:39:09 +02:00
H. Verbeet
112c3bf1c3
wined3d: Add some traces to stretch_rect_fbo.
2007-04-10 21:38:55 +02:00
H. Verbeet
c9f82b9817
wined3d: Set the stream offset to 0 in DrawPrimitiveUP/DrawIndexedPrimitiveUP.
2007-04-09 12:41:35 +02:00
H. Verbeet
38082f2964
wined3d: Display the stream offset in GetStreamSource/SetStreamSource traces.
2007-04-09 12:41:26 +02:00
H. Verbeet
6fd820206a
wined3d: Don't report render target formats we don't support as supported.
2007-04-09 12:41:17 +02:00
H. Verbeet
31663b9eca
wined3d: Add some StretchRectFilterCaps.
2007-04-09 12:41:04 +02:00
H. Verbeet
75e91fa409
wined3d: Use the framebuffer blit extension to implement StretchRect.
2007-04-09 12:40:52 +02:00
H. Verbeet
70dd7ced99
wined3d: Separate attaching a surface to an FBO from set_render_target_fbo.
2007-04-09 12:39:59 +02:00
H. Verbeet
2e1e3d48f2
wined3d: Make bind_fbo a bit more generic.
2007-04-09 12:39:48 +02:00
H. Verbeet
75108443ff
wined3d: Add a function to dump WINED3DTEXTUREFILTERTYPE values.
2007-04-09 12:39:35 +02:00
H. Verbeet
c9b178b594
wined3d: Fixup FBO depth attachments when the depth attachment is larger than the render target.
2007-04-09 12:39:23 +02:00
H. Verbeet
3d4e054b55
wined3d: Handle FBO attachments slightly more efficiently.
2007-04-09 12:38:53 +02:00
Felix Nawothnig
e600f7d082
wined3d: Issue an error when the render target is read back without SFLAG_INDRAWABLE being set.
2007-04-09 12:17:17 +02:00
Felix Nawothnig
2d0016c5bc
wined3d: Preload target in ActivateContext() for ORM_BACKBUFFER/ORM_PBUFFER.
2007-04-09 12:17:07 +02:00
Felix Nawothnig
c0782603d0
wined3d: Allow np2 textures to be loaded for SFLAG_INDRAWABLE.
2007-04-09 12:15:56 +02:00
Stefan Dösinger
a9e04dd87f
wined3d: Index buffer data is unsigned.
2007-04-07 10:58:25 +02:00
Stefan Dösinger
0899d85757
wined3d: Set WINED3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD caps3 cap.
2007-04-07 10:58:17 +02:00
Stefan Dösinger
290f2eb146
wined3d: Add Filtering to IWineD3DSurface::Blt and handle it.
...
This is to allow StretchRect to pass the texture filter to WineD3D.
DirectDraw sets the texture filter to WINED3DTEXF_NONE, simmilar to all
other functions which do not need filtering.
2007-04-07 10:58:10 +02:00
Fabian Bieler
dcd416edbe
wined3d: Add GL_EXT_framebuffer_blit to extension handler.
2007-04-06 12:31:09 +02:00
Fabian Bieler
0ce39d5869
wined3d: Fix GLSL cnd instruction.
...
According to MSDN the cnd instruction should translate:
dst = src0 > 0.5 ? src1 : src2;
2007-04-05 10:55:00 +02:00
Fabian Bieler
fd6395f0c7
wined3d: Fix UpdateSurface for sourceRect != sourceWidth.
2007-04-05 10:54:24 +02:00
Fabian Bieler
7df5deab23
wined3d: Add support for float texture formats back in.
2007-04-04 21:26:36 +02:00
Fabian Bieler
91df230624
wined3d: Fix GLSL cnd instruction for INF and NAN arguments.
2007-04-04 21:26:30 +02:00
Fabian Bieler
2843b0f929
wined3d: Fix GLSL cmp instruction for INF and NAN arguments.
2007-04-04 21:26:23 +02:00
Felix Nawothnig
e3d3d1823d
wined3d: Only issue state_patchsegments FIXME once.
2007-04-04 12:45:57 +02:00
Felix Nawothnig
413b9b2ad2
wined3d: Downgrade some ERRs to FIXMEs.
2007-04-04 12:45:49 +02:00
Francois Gouget
0081b430e1
Assorted spelling and English fixes.
2007-04-03 11:23:12 +02:00
Michael Ploujnikov
56391a3a85
wined3d: Remove DDBLT_WAIT fixme.
2007-04-02 12:05:24 +02:00
Stefan Dösinger
4f5d33311b
wined3d: Use GL_APPLE_client_storage if available.
2007-04-02 11:34:12 +02:00
Stefan Dösinger
f9ee2355d0
wined3d: Add GL_APPLE_client_storage to our extension list.
2007-04-02 11:30:04 +02:00
Felix Nawothnig
c343fb1cdf
wined3d: Make CreateCubeTexture fail when not supported.
2007-04-02 11:28:39 +02:00
Felix Nawothnig
18c9e5d5d0
wined3d: Use GL_TEXTURE_2D for dummy textures.
2007-03-30 11:25:23 +02:00
Felix Nawothnig
6760ccac1c
wined3d: Fix broken ERR() message.
2007-03-30 11:25:02 +02:00
Felix Nawothnig
335f978e91
wined3d: Only disable GL_TEXTURE_CUBE_MAP_ARB if supported.
2007-03-30 11:24:56 +02:00
Fabian Bieler
333de16fb6
wined3d: Implement support for projective textures in ps 2.0 and later.
2007-03-29 21:15:29 +02:00
Jan Zerebecki
09e7791cba
wined3d: Print lastpixel state fixme only once.
2007-03-28 12:43:14 +02:00
Stefan Dösinger
5e405d3b26
wined3d: Disable texture coordinate arrays on the correct unit.
2007-03-27 12:30:50 +02:00
Stefan Dösinger
bee084503b
wined3d: Implement bem shader instruction.
2007-03-27 12:30:38 +02:00
Stefan Dösinger
929116f23c
wined3d: Handle input modifiers in texcrd with arb shaders.
2007-03-27 12:30:26 +02:00
Fabian Bieler
e617c91f22
wined3d: Fix arb texbem instruction for projective textures.
2007-03-23 12:32:10 +01:00
Fabian Bieler
97967d3671
wined3d: Fix glsl texbem instruction for projective textures.
2007-03-23 12:31:35 +01:00
Fabian Bieler
4b3ac837aa
wined3d: Implemented bump map transform for texbem in GLSL with native signed textures.
2007-03-23 12:31:27 +01:00
Fabian Bieler
878e02538e
wined3d: Remove fog coordinate clamping in the vertex shader.
2007-03-23 12:30:58 +01:00
Fabian Bieler
7cedd56d24
wined3d: Implement linear fog with pixel shader.
2007-03-23 12:30:23 +01:00
Stefan Dösinger
e25a16fda5
wined3d: General signed format correction without native signed formats.
...
Implement signed d3d formats for D3DFMT_V8U8 and D3DFMT_Q8W8V8U8 if no
suitable opengl signed format is supported.
2007-03-21 22:51:19 +01:00
Stefan Dösinger
2cdbd9a53d
wined3d: Store the pixel format in the texture.
2007-03-21 22:50:49 +01:00
Stefan Dösinger
ede01abee2
wined3d: Support GL_ATI_envmap_bumpmap for D3DFMT_V8U8.
2007-03-21 22:50:41 +01:00
Stefan Dösinger
e213d7eff5
wined3d: Add GL_ATI_envmap_bumpmap to our gl extension header.
2007-03-21 22:50:30 +01:00
Vitaly Budovski
f7b565e2ca
wined3d: Check for float texture formats correctly.
...
Move the checks for float texture formats into the correct location.
This allows some Direct3D sample applications which check for any of
the float formats together with D3DUSAGE_RENDERTARGET to start.
2007-03-21 12:33:17 +01:00
Phil Costin
1f03896e00
wined3d: Ensure all states affected by a change in render_offscreen are marked dirty in ActivateContext.
2007-03-21 11:55:52 +01:00
Stefan Dösinger
90fe64cee0
wined3d: Store an array of contexts in the swapchain.
...
This is a preparation for using multiple contexts on one drawable to
handle multithreading.
2007-03-19 12:23:16 +01:00
Stefan Dösinger
fcb83e7111
wined3d: Activate a context before doing opengl calls.
2007-03-19 12:22:57 +01:00
Stefan Dösinger
9789f993ce
wined3d: Remove some old stuff.
2007-03-19 12:18:20 +01:00
Stefan Dösinger
65c447082a
wined3d: Fix client gl unit selection.
...
I forgot that when re-enabling register combiners during the state
management rewrite.
2007-03-19 12:18:07 +01:00
Stefan Dösinger
022e884342
wined3d/ddraw: Forward DDSCL_MULTITHREADED to wined3d.
2007-03-19 12:17:18 +01:00
Andrew Talbot
2f5f3825c6
wined3d: Replace inline static with static inline.
2007-03-17 20:04:46 +01:00
Erich Hoover
01199072dd
wined3d: Fix LockRect memory location calculation for WINED3DFMT_DXT*.
2007-03-17 19:51:34 +01:00
Stefan Dösinger
4b445124d3
direct3d: Add a fixed function fog test.
2007-03-15 12:14:50 +01:00
Stefan Dösinger
0b46254b57
wined3d: Blitting to offscreen target.
...
Fix the NULL deref that occured when blitting to offscreen targets and
select the proper gl drawing buffer instead.
2007-03-15 12:14:39 +01:00
Erich Hoover
9795e6839f
wined3d: Allow SetCursorProperties on existing cursor.
2007-03-14 13:14:08 +01:00
Francois Gouget
e11ca0a7fd
wined3d: Remove space before '\n' in trace.
2007-03-14 12:10:47 +01:00
Stefan Huehner
4d1d01f266
Mark several functions as static.
2007-03-13 13:35:12 +01:00
András Kovács
dac10f0da8
wined3d: Set WINED3DCAPS2_DYNAMICTEXTURES flag.
2007-03-13 12:08:23 +01:00
H. Verbeet
62fff2eab8
wined3d: Remove some redundant code in IWineD3DVertexBufferImpl_FindDecl().
2007-03-13 11:56:18 +01:00
H. Verbeet
6998d0d472
wined3d: Remove a redundant check in handleStreams().
2007-03-13 11:56:10 +01:00
H. Verbeet
05d461aee9
wined3d: Remove some redundant checks in the vertexdeclaration() state handler.
2007-03-13 11:56:02 +01:00
H. Verbeet
30ee071eb9
wined3d: Disable vertex shaders when transformed vertices are used.
2007-03-13 11:55:55 +01:00
H. Verbeet
ee09e8bfd6
wined3d: Remove FVF related fields from IWineD3DVertexDeclaration.
2007-03-13 11:54:24 +01:00
H. Verbeet
b22ca33a85
wined3d: 11 space indent is ugly.
2007-03-13 11:54:08 +01:00
H. Verbeet
23cd4475f6
wined3d: Correct various texture limits checks.
2007-03-13 11:53:28 +01:00
Fabian Bieler
8dae597f24
wined3d: Implemented signed texture formats via NV_TEXTURE_SHADER.
2007-03-13 11:51:56 +01:00
Fabian Bieler
89843f2c27
wined3d: Set wrapmode for cubemags to clamp regardless of the sampler state.
2007-03-13 11:51:35 +01:00
Fabian Bieler
a2808903b1
wined3d: Height of rectangle is bottom - top, not vice versa.
2007-03-12 13:49:58 +01:00
Stefan Dösinger
eba060463d
wined3d: Account for offscreen rendering when setting up the clearing scissor rectangle.
2007-03-12 12:02:20 +01:00
Stefan Dösinger
603e7933ea
wined3d: Blit the offscreen texture into the drawable if needed.
...
When using pbuffer or back buffer offscreen rendering the content of
the drawable will have been overwritten. Thus the texture has to be
written into the drawable. An exception is the (pretty common) case
that the whole render target is cleared before rendering to it.
2007-03-12 12:02:05 +01:00
Stefan Dösinger
850bd7b414
wined3d: Restore the index buffer when switching from UP to buffer drawing.
...
The state handler binds index buffer 0 when a user pointer is used. Likewise the real index
buffer has to be restored when switching back to drawing from index buffers.
2007-03-12 12:01:45 +01:00
H. Verbeet
fc5f36f037
wined3d: Fix IWineD3DPixelShader_GetFunction / IWineD3DVertexShader_GetFunction.
2007-03-08 11:58:50 +01:00
Michael Stefaniuc
719a02856d
janitorial: Remove two redundant checks for NULL.
2007-03-08 11:58:09 +01:00
Stefan Dösinger
c54a0fc2cf
wined3d: Rework surface dirtification.
...
Previously the surfaces stored a flag if the system memory copy was
ahead of the gl copy(SFLAG_DIRTY) or the gl copy is
ahead(SFLAG_GLDIRTY). The pbuffer copy was 'managed' differently using
SFLAG_INPBUFFER and SFLAG_INTEXTURE.
This patch replaces them with 3 flags, INSYSMEM, INPBUFFER and
INTEXTURE which specify which copy contains the most up to date
copy. It is perfectly valid to have more than one of those flags
set. One must be set at least (except at init, when no content is in
the surface yet). When one copy is modified, the flags for the others
are removed.
2007-03-07 12:18:14 +01:00
Stefan Dösinger
ebe274feed
wined3d: Remove IWineD3DSurface::SetPBufferState.
...
The method is removed because it does not really help with
anything. It should not be exported from wined3d, there is no need for
the other libs to call it. It does not help abstraction and code
simplification in any way because it is very specific and the code
calling it has to know what is happening in the surface to use this
method.
2007-03-07 12:17:33 +01:00
H. Verbeet
2384bdde9d
wined3d: Remove broken software shaders.
2007-03-07 11:52:17 +01:00
H. Verbeet
318fb2987c
wined3d: Fix a typo.
2007-03-07 11:47:54 +01:00
Stefan Dösinger
81aeae3249
wined3d: Do not specify the viewport origin upside down when doing offscreen rendering.
...
The gl viewport origin is the lower left corner of the window, in d3d
it is the upper right corner. This is corrected when setting the
viewport. However, when we are doing offscreen rendering, this is
reversed. So do not flip the viewport origin when rendering offscreen.
2007-03-06 22:17:28 +01:00
Stefan Dösinger
6886b237ad
wined3d: Disable depth stencil related states without a depth stencil buffer.
...
Except with fbos, it is not possible to remove the depth stencil
buffer from the opengl frame buffer, so when the d3d app sets a NULL
depth stencil disable all states that work with the depth stencil
buffer.
2007-03-06 22:17:15 +01:00
Stefan Dösinger
5f159452ef
wined3d: Clearing the depth stencil buffer fails without a depth stencil buffer.
2007-03-06 22:17:03 +01:00
Stefan Dösinger
daeffc897b
wined3d: Use an aux buffer as blitting helper if available.
...
This helps performance a bit because the function does not have to
wait for the 2nd read to finish before returning. Only do that if we
have an aux buffer to mess with for free though.
2007-03-06 22:16:44 +01:00
Stefan Dösinger
5f05906f3b
wined3d: Store the number of aux buffers in the gl limits structure.
2007-03-06 22:16:25 +01:00
Stefan Dösinger
ae57138eae
wined3d: WINED3DFMT_U8V8 is signed.
...
Plain OpenGL does not provide any signed pixel formats, so the
unsigned GL_RGB is used for loading perturbation data into pixel
shaders that use texbem. For correct loading, the signedness has to be
considered.
2007-03-06 22:16:12 +01:00
Stefan Dösinger
e0a271ee0c
wined3d: Adjust the rhw transformation for offscreen rendering.
2007-03-06 22:15:57 +01:00
Stefan Dösinger
2cdced8193
wined3d: Adjust the rhw transformation for offscreen rendering.
...
When drawing processed vertices with the fixed function pipeline the
projection matrix is set up to map y values from 0 to height to 1.0;
-1.0(gl and d3d coord systems are flipped). This moves the y axis to
the bottom of the drawing area. When later on the y inversion matrix
is applied for offscreen rendering, the coordinate system will get
flipped out of the viewport.
This patch sets the Y range up upside down when using offscreen
rendering, so the invymat will flip it to the correct position. This
has to happen before the 0.375 pixel correction.
2007-03-05 15:31:36 +01:00
Stefan Dösinger
7126b63645
wined3d: Use the scissor test when clearing the full surface too.
...
It was incorrect to disable the scissor test for full surfaces in my
clear patch. With back buffer offscreen rendering the viewport does
not seem to restrict clearing, and with different sizes of depth
stencil and color buffer the final fantasy XI demo seems to expect the
clear to be restricted.
2007-03-05 15:31:21 +01:00
H. Verbeet
25cd1c4d28
wined3d: gl_FogFragCoord is a scalar.
2007-03-05 12:06:45 +01:00
H. Verbeet
71a0c6e482
wined3d: The texldl instruction takes 3 arguments.
2007-03-05 12:06:40 +01:00
H. Verbeet
3aaabf4e27
wined3d: Properly check the clipplane index against the limit.
2007-03-05 12:06:33 +01:00
Stefan Dösinger
95efeb7e4b
wined3d: Support GL_APPLE_fence for event queries.
2007-03-01 11:40:24 +01:00
Stefan Dösinger
76b60b0516
wined3d: Support event queries using GL_NV_fence.
2007-03-01 11:40:14 +01:00
Stefan Dösinger
be8e9e17bc
wined3d: Add GL_NV_fence defines and functions.
2007-03-01 11:40:02 +01:00
Stefan Dösinger
424d34f84f
wined3d: Use the source surface's texture for writing the backup.
...
The hwstretch blit code creates a new texture each time it is called
to back up the back buffer and releases it afterwards. It is more
efficient to keep the texture and release it with the surface.
2007-03-01 11:39:52 +01:00
Stefan Dösinger
6ac8d88d5c
wined3d: Prepare only fixed function samplers for blit.
2007-03-01 11:39:17 +01:00
Stefan Dösinger
5afbfd0359
wined3d: Clip planes with vertex shaders.
2007-02-28 21:09:58 +01:00
Stefan Dösinger
409aa73132
wined3d: Move clip planes to the state table.
2007-02-28 21:09:37 +01:00
Stefan Dösinger
38d961a749
wined3d: Leave the fog state handler after disabling fog.
2007-02-28 21:05:14 +01:00
Stefan Dösinger
7560c8e1d2
wined3d: Use GL_STATIC_DRAW_ARB instead of GL_STATIC_DRAW.
2007-02-28 21:05:00 +01:00
Stefan Dösinger
8d9a553d89
wined3d: Support for using auxilliary buffers for offscreen rendering.
...
OpenGL AUX buffers provide a way for offscreen rendering which is very
similar to our back buffer "offscreen" rendering emulation. Not all
card support aux buffers, but if they are available they are a nice
present which is easy to use.
2007-02-28 21:04:47 +01:00
H. Verbeet
19d223cade
wined3d: Store multiple constant indices per list entry.
2007-02-28 13:35:34 +01:00
H. Verbeet
2c85e5e8a3
wined3d: Store GLSL programs in a hash table rather than a linked list.
2007-02-28 13:35:23 +01:00
H. Verbeet
2a82ed89b1
wined3d: Add some hash table code.
2007-02-28 13:35:16 +01:00
H. Verbeet
0170cc429c
wined3d: Boolean constants use up only a single uniform each.
2007-02-28 13:33:03 +01:00
H. Verbeet
b299395f30
wined3d: Fix matching WINED3DDECLUSAGE_POSITION against WINED3DDECLUSAGE_POSITIONT.
2007-02-28 13:32:53 +01:00
Stefan Dösinger
4a16dbbbec
wined3d: More Clear fixes.
...
Test for rectangles with x1 > x2 and y1 > y2. Empire earth passes such rects.
2007-02-27 12:20:10 +01:00
Stefan Dösinger
74d2632756
wined3d: Index buffer creation adjustments.
...
Index buffer creation changes the bound gl buffer, thus the state has to
be dirtified, similar to locking.
In an error case the function returned without calling LEAVE_GL().
2007-02-27 12:19:18 +01:00
Vitaliy Margolen
51ee7f4978
wined3d: Use application provided fog range when fog is enabled.
2007-02-26 13:58:09 +01:00
Jan Zerebecki
870310b461
wined3d: replace #ifdef with if() for DEBUG_SINGLE_MODE.
2007-02-23 11:57:46 +01:00
Jan Zerebecki
706bc26a69
wined3d: Make CreateFakeGLContext thread safe.
2007-02-23 11:57:12 +01:00
Francois Gouget
396bad1f6e
Use the SW_XXX constants when calling ShowWindow().
2007-02-23 11:17:54 +01:00
Stefan Dösinger
953940aada
wined3d: Make sure volumes have memory allocated.
2007-02-21 11:00:08 +01:00
Stefan Dösinger
a72b561947
wined3d: Do not use glMapBuffer in ProcessVertices.
2007-02-21 10:59:55 +01:00
Stefan Dösinger
2a90bc2c7a
wined3d: Remove dead code from drawprim.c.
2007-02-21 10:57:50 +01:00
Stefan Dösinger
ca04a9de34
wined3d: Use CopyRect / EqualRect.
2007-02-21 10:57:28 +01:00
Stefan Dösinger
efc03f0a34
wined3d: Index buffer fixes.
2007-02-21 10:57:08 +01:00
Stefan Dösinger
6d66347cf9
wined3d: Clean up sampler usage in UpdateSurface.
...
UpdateSurface has to modify one gl texture unit to bind the texture to
load. To restore the correct properties for drawing gl texture unit 0
is activated and dirtified.
2007-02-21 10:56:47 +01:00
Stefan Dösinger
e935600ebc
wined3d: IWineD3DDevice::Clear fixes.
...
Fix the use of the scissor test in Clear. The rectangle is only set if
a clearing rectangle is used, otherwise the scissor test is disabled
(the pixel ownsership test should take care of the window
boarders). To get the scissor test back to the value the app set up
Clear dirtifies the state(s).
2007-02-21 10:56:36 +01:00
Stefan Dösinger
dd93e1fb7f
wined3d: Floating point shader constant setting.
...
Test how shader constant limits are checked in Set*ShaderConstantF.
The vertex shader tests it based on the limits reported in the caps,
the pixel shader tests tries to find the limit manually because I
could not find a cap structure member specifying the pixel shader
constant limit.
Set*ShaderConstantF returns an error as soon as start or start + count
are bigger than the constant limit.
2007-02-21 10:56:01 +01:00
Stefan Dösinger
76b7cac7af
wined3d: Light parameter fixes.
2007-02-21 10:55:31 +01:00
Stefan Dösinger
fb1469c47d
wined3d: Do not print the fixed / unfixed vertices warning with shaders.
2007-02-21 10:55:14 +01:00
Francois Gouget
93494f2ac0
Assorted spelling fixes.
2007-02-20 20:30:51 +01:00
Stefan Dösinger
a9d681c3ad
wined3d: With FVFs only one stream is used.
2007-02-20 11:50:26 +01:00
Stefan Dösinger
59ae2a56fb
wined3d: Use VBOs for index buffers.
2007-02-20 11:50:10 +01:00
Stefan Dösinger
ecfd4cb0e4
wined3d: Move the scissor rectangle to the state table.
2007-02-20 11:49:53 +01:00
Stefan Dösinger
bbcf98209c
wined3d: No bounds checking is done on sampler / texture numbers.
2007-02-20 11:49:42 +01:00
Stefan Dösinger
1f1d0cda22
wined3d: Misc comment updates.
2007-02-20 11:47:57 +01:00
Stefan Dösinger
27113156d9
wined3d: Remove IWineD3DDevice::EnumDisplayModes.
2007-02-20 11:47:46 +01:00
Stefan Dösinger
7676462a3d
wined3d: Fix d3d8/9 style palettes.
2007-02-20 11:46:20 +01:00
Stefan Dösinger
4a93eb840a
wined3d: Remove stream flags from GetStreamSource.
2007-02-20 11:46:06 +01:00
Stefan Dösinger
ef68e32b03
wined3d/d3d8: Move todo about sw vp usage to d3d8.
2007-02-20 11:45:56 +01:00
Stefan Dösinger
401110538a
wined3d: Check volume texture creation errors.
...
Volumetexture::Release checks for NULL pointers, so releasing a partially
created texture works.
2007-02-20 11:45:42 +01:00
Stefan Dösinger
5e37345b30
wined3d: Activate a different context if the active render target is destroyed.
2007-02-19 13:10:51 +01:00
Stefan Dösinger
762e227994
wined3d: Only scream about unsupported vertex blending when it is used.
2007-02-19 13:10:24 +01:00
Stefan Dösinger
06f2829b92
wined3d: Pretend to support event queries.
2007-02-19 13:10:10 +01:00
Stefan Dösinger
266fc77cf0
wined3d: Lighting is calculated for vertices without normals.
...
It still should be disabled for transformed vertices though.
2007-02-19 13:08:35 +01:00
Stefan Dösinger
03bc11fa16
wined3d: Visual test framework.
2007-02-19 13:07:44 +01:00
Stefan Dösinger
5916fdd560
wined3d: Remove an outdated TODO comment.
...
BltFast takes care of activating the correct context nowadays.
2007-02-19 13:02:19 +01:00
H. Verbeet
78e50b78a6
wined3d: Remove the d3d9.h include from wined3d_private.h.
2007-02-16 12:31:28 +01:00
H. Verbeet
dc5b08cc76
wined3d: Get rid of any remaining d3d9 stuff in directx.c.
2007-02-16 12:31:21 +01:00
H. Verbeet
bd5488cda9
wined3d: Add WINED3DCREATE flags and use them.
2007-02-16 12:31:11 +01:00
H. Verbeet
a4bc52a89c
wined3d: Fix WINED3DPRESENT_PARAMETERS and use it instead of D3DPRESENT_PARAMETERS.
2007-02-16 12:31:03 +01:00
Stefan Dösinger
1f32d6235e
wined3d: Convert the full surface for now.
...
Until we have proper subrectangle handling for offscreen surfaces,
surface conversion has to use the real surface sizes, and not the size
of the opengl subrectangle that it is going to upload. Due to the
power of 2 limitations the gl height may be bigger than the real
surface height. If that is not the case, the uploading function will
pick the correct parts from the converted surface data.
2007-02-15 17:22:27 +01:00
Stefan Dösinger
20a07693b5
wined3d: Read offscreen render targets upside down when blitting them to a texture.
2007-02-15 17:22:06 +01:00
Stefan Dösinger
a41ba013b6
wined3d: Test for supported queries.
...
This test contains a table of known supported / known unsupported
queries. In theory wined3d could just report the queries it supports,
but applications may make some assumtions regarding supported /
unsupported queries and stop working if they find a query unexpectadely
supported or unsupported. It also tests what is supposed to happen if an
unsupported query is created.
2007-02-15 17:21:58 +01:00
Stefan Dösinger
2f96220b3e
6/10: WineD3D: rsq and rcp instructions may need a default swizzle in arb.
...
ARB shaders need a swizzle for the RSQ and RCP instructions, while d3d
shaders do not. The DirectX sdk says that the x component is used if
no swizzle is given.
2007-02-15 17:21:27 +01:00
Stefan Dösinger
8e84127aed
wined3d: Restore the display mode when releasing a swapchain.
2007-02-15 16:56:02 +01:00
Stefan Dösinger
19baae3159
wined3d: Remove empty texture stage applying loop.
2007-02-15 16:55:38 +01:00
H. Verbeet
75ebf29e1b
wined3d: Get rid of any remaining d3d9 stuff in surface.c and surface_gdi.c.
2007-02-15 14:21:11 +01:00
H. Verbeet
1a07d3142c
wined3d: Get rid of any remaining d3d9 stuff in stateblock.c.
2007-02-15 14:21:03 +01:00
H. Verbeet
a2fde7d912
wined3d: Get rid of any remaining d3d9 stuff in state.c.
2007-02-15 14:20:56 +01:00
H. Verbeet
618dc7da1f
wined3d: Use WINED3DISSUE_BEGIN / WINED3DISSUE_END rather than D3DISSUE_BEGIN / D3DISSUE_END.
2007-02-15 14:20:46 +01:00
H. Verbeet
e8419403ee
wined3d: Add the WINED3DSPD_IUNKNOWN flag and use it.
2007-02-15 14:20:38 +01:00
H. Verbeet
176a2a19c3
wined3d: Use WINED3DRTYPE_SURFACE rather than D3DRTYPE_SURFACE.
2007-02-15 14:20:28 +01:00
H. Verbeet
e01f242a2a
wined3d: Add WINED3DVS20 & WINED3DVS20CAPS flags and use them.
2007-02-15 14:20:19 +01:00
H. Verbeet
594f7fd882
wined3d: Add WINED3DPS20 & WINED3DPS20CAPS flags and use them.
2007-02-15 14:20:12 +01:00
H. Verbeet
db8da81e67
wined3d: Add WINED3DDTCAPS flags and use them.
2007-02-15 14:20:01 +01:00
H. Verbeet
da354c6dfa
wined3d: Add WINED3DLINECAPS flags and use them.
2007-02-15 14:19:52 +01:00
H. Verbeet
5c398c571f
wined3d: Add WINED3DPTADDRESSCAPS flags and use them.
2007-02-15 11:43:59 +01:00
H. Verbeet
a58b156264
wined3d: Add WINED3DPCMPCAPS flags and use them.
2007-02-15 11:43:53 +01:00
H. Verbeet
fd8e0f1589
wined3d: Add WINED3DPMISCCAPS flags and use them.
2007-02-15 11:43:46 +01:00