Oliver Stieber
30ad95b6cd
Corrects an error in the _m3xm3 shader function in pixel and vertex
...
shaders.
2005-11-22 15:01:55 +00:00
Oliver Stieber
932815d6f0
Implement a pixel shader parser and cross compiler. All version of
...
shaders up to 3 should be parsed correctly, but only shaders 1-1.4
will be cross compiled.
2005-11-21 16:27:55 +00:00
Oliver Stieber
bcb4201130
Disable support for creation FMT_Unknown textures. This gets most of
...
the d3d8 demos from www.codesampler.com working.
2005-11-17 11:40:43 +00:00
Oliver Stieber
da29023d7a
Clear the z and stencil buffers at the end of the scene, this fixes a
...
problem with the solid node bsp demo from www.codesampler.com as well
as a lot of blank screens in some other demos.
2005-11-17 11:05:12 +00:00
Raphael Junqueira
705aec5a6f
- defined D3DCOLOR_B macros to access byte values of D3DCOLOR
...
- use D3DCOLOR macros instead of using shift + masks
- fix a bug where diffuse.lpData checked instead of specular.lpData
- implement color fixup on ARB VShader compilation code:
-> on input parameters using swizzle
-> add is_color parameter on vshader_program_add_param
2005-11-15 12:03:13 +00:00
Oliver Stieber
a8d9a2a4ac
Fix an intermittent lockup with ATI's driver, I expect the problem is
...
trying to clear the display before it's visible. Also correct the
clear alpha value.
2005-11-14 12:28:59 +00:00
Francois Gouget
0edbaf7e80
Remove spaces before '\n' in traces.
2005-11-10 12:14:56 +00:00
Francois Gouget
f4c0524ec6
Assorted spelling and case fixes.
2005-11-10 11:39:07 +00:00
Raphael Junqueira
c4569d9298
Define GL_EXT_framebuffer_object and GL_EXT_pixelbuffer_object openGL
...
specs.
Support Mesa GL_VERSION on parse.
2005-11-10 11:04:59 +00:00
Raphael Junqueira
2e9bff702c
Fix parsing of version number.
2005-11-08 12:47:04 +00:00
Oliver Stieber
f4e290ff46
Fixed an error in Swapchain_GetFrontBufferData.
2005-11-08 10:55:49 +00:00
Oliver Stieber
c62e978d54
Verify that the texture coordinate used in DrawStridedSlow is in range
...
before trying to referencing the associated data.
2005-11-07 11:13:26 +00:00
Oliver Stieber
39d6e30db0
Prevent SetFVF from clearing down the vertex declaration of the FVF is
...
zero. This is required for Prince of Persia, The sands of time.
2005-11-07 11:12:38 +00:00
Oliver Stieber
0e3a3555e9
Tidy up UpdateTexture and add support for updating cube textures.
2005-11-04 12:39:17 +00:00
Oliver Stieber
f52f6ce93d
Add support for updating to D3DFMT_UNKNOWN surfaces and tidy up update
...
surface a little.
2005-11-04 11:13:45 +00:00
Oliver Stieber
d6fcc69ddb
Implement D3DFMT_UNKNOWN surfaces, this seems to be used a lot in d3d8
...
but I haven't found any d3d9 application that uses D3DFMT_UNKNOWN
surfaces yet.
2005-11-02 20:01:54 +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
473cac840b
Correct the number of parameters expected for the LRP function.
2005-10-27 10:23:53 +00:00
Oliver Stieber
483320c484
Changed the way that 24bit and 32bit Adapter and Buffer formats are
...
reported allowing EVE online to get past the startup screen and
allowing the Fur demo (amongst others) to run in a window, as under
windows, instead of in fullscreen mode.
2005-10-12 21:07:27 +00:00
Oliver Stieber
44b4777972
Add checks for ARB_vertex_program before allowing vertex shaders to
...
use ARB_vertex_program.
2005-10-11 20:27:54 +00:00
Oliver Stieber
0fbf69fcf8
Report unrecognized opcodes as FIXMEs instead of TRACEs so that they
...
are easier to spot and fix.
2005-10-10 19:52:49 +00:00
Oliver Stieber
80c60f5bad
Provide looser device matching for backbuffer and depth buffer
...
formats. It should allow some games and applications to run without X
being in the correct backbuffer format (e.g. 16 bit games will run
with a 24bit X backbuffer).
2005-10-04 15:50:57 +00:00
Marcus Meissner
0a7de6a758
Use correct minLookup[] array entry.
2005-10-03 10:15:08 +00:00
Vincent Béron
5eae622f44
Don't define some functions/variables if they won't be used after in
...
wined3d.
2005-09-29 10:47:59 +00:00
Alexandre Julliard
7e22be4d84
We are no longer generating .dbg.c files.
2005-09-29 10:35:58 +00:00
Oliver Stieber
effc262f9f
Added support for backbuffer with the formats A1R5G5B5 and X1R5G5B5.
2005-09-29 10:31:43 +00:00
Oliver Stieber
b3563daca2
Implement state tracking for pixel shader constants.
2005-09-28 10:13:00 +00:00
Oliver Stieber
c99a3fafef
Change the format of surface_SaveSnapshot to TGA from PPM and add
...
support for compressed textures and an alpha channel.
2005-09-27 10:49:59 +00:00
Oliver Stieber
2b8a7dca38
Correct a problem with locking nonpower 2 back and front buffers.
2005-09-27 09:32:29 +00:00
Francois Gouget
a8c7284f92
Assorted spelling fixes.
2005-09-26 10:58:41 +00:00
Oliver Stieber
9e6957bbdc
Optionally repack nonpower 2 textures to the expected span length when
...
a textures is locked. This is necessary for buggy games like Warhammer
40k that don't work with the odd span sizes produce by default
nonpower 2 support.
2005-09-23 11:08:03 +00:00
Oliver Stieber
357a484a7e
Enable dxt2 and dxt4 compressed textures to be created via
...
Device_CreateSurface.
2005-09-23 10:48:01 +00:00
Oliver Stieber
0fac2d96fc
Clean up all the objects bound to the device when the device is
...
destroyed as a result of its ref count reaching zero.
2005-09-23 10:07:46 +00:00
Alexandre Julliard
0ec0f048e6
Removed unused debug channels.
2005-09-22 10:44:40 +00:00
Oliver Stieber
329d017db3
Start to implement TestCooperativeLevel.
2005-09-21 10:55:03 +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
5ea96a851f
Implemented occlusion queries using either GL_ARB_occlusion_query or
...
GL_NV_occlusion_query.
2005-09-21 09:43:13 +00:00
Oliver Stieber
b7603859f3
Return the adaptor mode as X8R8G8B8 when BPP is 24 or 32 bits.
2005-09-19 15:25:07 +00:00
Oliver Stieber
4752553d57
Prevent CheckDepthStencilMatch from causing problems if there is a
...
current active OpenGL context.
2005-09-19 14:31:21 +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
Alexandre Julliard
c6b005ac69
Fixed some more traces to use the right printf format and avoid
...
typecasts.
2005-09-12 14:12:46 +00:00
Karsten Elfenbein
13fc2f88d6
Added A2R10G10B10 and D3DFMT_D24FS8 modes to all other functions.
2005-09-07 09:25:26 +00:00
Oliver Stieber
f7413fd63f
Implemented point sprites using ARB_POINT_SPRITE extension.
2005-09-03 09:36:48 +00:00
Oliver Stieber
55124ec05e
Added the tracking of stream frequency and flags. Stream flags and
...
frequency aren't handled at the moment.
2005-09-02 11:17:17 +00:00
Oliver Stieber
33b2c1fd3c
Added support for DXT2 and DXT4.
2005-08-29 12:20:02 +00:00
Oliver Stieber
f1a2ee521d
Implemented IWineD3DDevice_GetRenderTargetData.
2005-08-29 10:15:47 +00:00
Oliver Stieber
42eff0f92b
Moved GetRasterStatus from device to swapchain.
2005-08-27 09:58:53 +00:00
Oliver Stieber
52a63149dc
Change SetDirty in texture to pass the value of dirty instead of
...
always passing TRUE.
2005-08-27 09:23:06 +00:00
Mike McCormack
93ab695a5c
Fix gcc 4.0 warnings.
2005-08-26 08:53:31 +00:00
Oliver Stieber
2af36c646e
Implemented stubbed out pixel shaders and their states in wined3d.
2005-08-25 19:24:21 +00:00
Oliver Stieber
0e0ff51842
Update the implementation of GetFrontBufferData in stateblock.
2005-08-23 19:59:27 +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
45033446bb
Tidy up some formatting, improve error handling and error logging and
...
fix a couple of spelling mistakes.
2005-08-22 09:13:49 +00:00
Oliver Stieber
1be54d8b79
Integrate hardware vertex shaders into the drawing pipeline.
2005-08-19 10:05:00 +00:00
Oliver Stieber
2c0e97e641
Copy the parser and cross compiler from d3d8 and update everything to
...
vertex shaders 3.0.
The Parser will now display the input shader in DirectX style, and the
cross compiler now generates valid ARB_VERTEX_PROGRAM programs and
outputs the result in ARB_VERTEX_PROGRAM style.
Support for a number of extended attributes has been added, but this
may not be complete, and dereferencing from loop counters isn't
properly parsed yet.
2005-08-17 11:34:03 +00:00
Oliver Stieber
9b0b803b47
Add support for vertex shader constants to the stateblock.
2005-08-17 10:27:01 +00:00
Francois Gouget
fae73a1090
Assorted spelling fixes.
2005-08-17 09:56:24 +00:00
Oliver Stieber
80cbb93163
Tidy up vertex shaders and bring the current code inline with the rest
...
of wined3d.
2005-08-17 09:54:54 +00:00
Francois Gouget
bcd56fe0e5
Assorted spelling fixes.
2005-08-12 18:22:06 +00:00
Mike McCormack
b814be9814
Fix gcc 4.0 warnings.
2005-08-11 10:57:47 +00:00
Oliver Stieber
2e851544dd
Allow the palette to be set and retrieved.
2005-08-11 10:57:20 +00:00
Oliver Stieber
313b01073c
Track the state of softwareVertexProcessing.
2005-08-11 10:31:40 +00:00
Oliver Stieber
12a4bda618
Correct the starting values of MIN, MAX and MIP filter, they now match
...
the initial values in opengl.
2005-08-11 10:31:04 +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
ec72ef14b5
Remove dxguid dependency.
2005-08-08 11:00:56 +00:00
Oliver Stieber
6b91f5b31c
Set the apha channel to opaque when locking X8R8G8B8 backbuffers.
2005-08-03 21:17:08 +00:00
Oliver Stieber
e31bc6cea4
Moved support for non power 2 texture to hardware.
...
Fix for the texture state separation patches, ApplyTextureStates is
now called instead of being commented out.
2005-08-03 19:49:05 +00:00
Oliver Stieber
1f05577395
Improve on a fixup for the difference between opengl and directx pixel
...
centering of vertexes.
2005-08-03 19:14:19 +00:00
Oliver Stieber
bb6f9b022b
Move the setting of states from device to basetexture, states that
...
relate to the opengl texture object will only be updated when they are
out of sync, this reduces the number of texture object state changes
during game play in Axis and allies from several hundreds to 0 or 1.
2005-08-03 11:00:28 +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
d15e2f1472
Fixed an off by one error in enumdisplaymodes, allowing sims 2 to
...
start up.
2005-07-30 19:11:38 +00:00
Oliver Stieber
386470bedc
Tidy up some of the formatting in drawprim and add missing strided
...
data.
2005-07-30 19:06:14 +00:00
Oliver Stieber
cc884e0ae6
Validate that the texture is no larger than the graphics cards largest
...
supported texture.
2005-07-30 19:05:58 +00:00
Mike McCormack
c6602b406b
Signed warning fixes.
2005-07-28 18:33:26 +00:00
Mike McCormack
8955ac43a3
gcc 4.0 -Wpointer-sign fixes.
2005-07-28 10:16:21 +00:00
Oliver Stieber
83f8704ba3
Return all elements when getDeclaration is called with pnumelements
...
set to 0.
2005-07-28 10:15:35 +00:00
Oliver Stieber
c93da09265
Changed swapchains held by the device from an array to a linked
...
list. Also provide a notification function that that the swapchain can
be removed when it is released.
2005-07-27 15:33:17 +00:00
Oliver Stieber
052d108bf5
DirectX uses a R/Z transform to translate a texture but under OpenGL a
...
Q transform must be used instead.
2005-07-26 20:01:29 +00:00
Oliver Stieber
52b5842f70
Remove a load of IWineD3DSurface * casts that are no longer required.
2005-07-26 18:56:18 +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
5b9ddcce44
Correct a regression issue with per-app settings.
2005-07-26 11:14:38 +00:00
Oliver Stieber
ea6189e04b
Implement resource tracking, require for reset and evict managed
...
resources and provides extra sanity checks.
2005-07-26 10:34:15 +00:00
Raphael Junqueira
cc8762a91e
- add a new settings for vbo support
...
- use a struct to handle wined3d settings
- prepare VBO using some abstraction APIs
2005-07-24 17:11:33 +00:00
Gerald Pfeifer
8d43d251b7
Remove unused variable in primitiveConvertToStridedData().
2005-07-22 18:27:04 +00:00
Raphael Junqueira
e2a2b5f6d5
- cleanup wined3d settings init (now closing opened registry keys)
...
- support per application settings
2005-07-22 18:26:05 +00:00
Francois Gouget
bd19d67ad1
Assorted spelling fixes.
2005-07-22 09:06:03 +00:00
Oliver Stieber
f8079b6947
Correct a problem with the way that FVF vertex arrays containing
...
blends or orthographic is calculated.
2005-07-21 11:01:19 +00:00
Oliver Stieber
2125fa9d37
Fixed regression that occurred because changes to texture loading were
...
committed before changes to textures and states to support the change
were committed.
2005-07-21 10:32:48 +00:00
Oliver Stieber
948563267e
Implement the use of PBuffers for offscreen textures.
2005-07-19 11:39:24 +00:00
Oliver Stieber
7d3ba6f562
Implemented a tidied up IWineD3Device_ColorFill.
2005-07-18 10:32:00 +00:00
Oliver Stieber
18f3fcb1c2
Set mipmap levels correctly (even with ATI's buggy drivers).
2005-07-18 09:07:17 +00:00
Oliver Stieber
e0241349c5
Dirty the surface (instead of the texture) when a render targets is
...
send and endscene is called to make sure that the correct surface is
updated.
2005-07-18 09:07:03 +00:00
Oliver Stieber
41718267be
Fixed a division by 0 in setup_light that occurs with range is zero.
2005-07-15 16:32:25 +00:00
Oliver Stieber
43466542a6
Correct a missplaced #if in IWineD3DDeviceImpl_CleanRender.
2005-07-15 09:57:52 +00:00
Oliver Stieber
fe80b4ea48
Implemented Get/Set/Free private data in resource.
2005-07-15 09:54:57 +00:00
Oliver Stieber
3aefc4e4a4
Fixed a bug in Preload caused be a missing brace around a for loop,
...
slightly improved the way that errors are handled by passing back hr
from some function calls.
2005-07-14 12:31:05 +00:00
Stefan Huehner
190e1597ff
Fix some missing-declarations warnings.
2005-07-14 12:19:53 +00:00
Oliver Stieber
b220ce1343
Correct a few formats that were incorrect.
2005-07-13 19:38:39 +00:00