Commit Graph

859 Commits

Author SHA1 Message Date
Roderick Colenbrander 5754726aeb wined3d: Use the proper depth stencil format. 2007-08-13 12:36:55 +02:00
Stefan Dösinger 93155ea087 wined3d: Optimize render states in the stateblock. 2007-08-13 11:37:25 +02:00
Stefan Dösinger e7cbb340dc wined3d: Remove stateblock::set.*. 2007-08-13 11:36:43 +02:00
Stefan Dösinger 55192882f3 wined3d: Remove outdated TODO in D3DDevice::SetTextureStageState. 2007-08-13 11:35:56 +02:00
Roderick Colenbrander ac3927a73e wined3d: Move over to WGL. 2007-08-08 15:32:01 +02:00
Stefan Dösinger 89dccc7c7c ddraw: Implement IDirect3DDevice7::DrawIndexedPrimitiveStrided. 2007-08-08 15:32:00 +02:00
Roderick Colenbrander f3af04a8be wined3d: Use UINT instead of uint. 2007-08-07 12:36:37 +02:00
Roderick Colenbrander e77da5ef8a wined3d: Don't call ActivateContext between ENTER_GL/LEAVE_GL. 2007-08-07 12:36:32 +02:00
Roderick Colenbrander d1bc63090e wined3d: Another devmode bug. 2007-08-06 14:01:42 +02:00
Stefan Dösinger d2016ff892 wined3d: Store the gl format table in the gl info structure. 2007-07-30 12:49:50 +02:00
Stefan Dösinger a0131a3272 wined3d: Split up the format table. 2007-07-30 12:49:39 +02:00
H. Verbeet b4e596e70e wined3d: Flip the scissor rect when rendering offscreen. 2007-07-26 11:51:34 +02:00
Stefan Dösinger 12788f6fc8 wined3d: Do not fail if the adapter info can't be initialized. 2007-07-26 11:48:45 +02:00
Stefan Dösinger 59efd5c7ec wined3d: Set the pow2 sizes in gl surface private setup. 2007-07-26 11:48:36 +02:00
Stefan Dösinger b9379fc389 wined3d: Allocate render target management members in Init3D. 2007-07-26 11:47:43 +02:00
Stefan Dösinger 327aa543a4 wined3d: Attempt to clean up fbos only if a gl surface is destroyed. 2007-07-26 11:47:35 +02:00
Stefan Dösinger 861767f036 wined3d: Create the stateblock in Init3D. 2007-07-24 13:44:10 +02:00
Stefan Dösinger fdadf26c20 wined3d: Add CTXUSAGE_CLEAR context usage. 2007-07-10 13:30:51 +02:00
Stefan Dösinger 26ebe396c3 wined3d: Implement high order patches. 2007-07-06 19:32:47 +02:00
Stefan Dösinger 714e66acf2 wined3d: Do not set streamIsUP in DrawPrimitiveStrided. 2007-07-06 19:30:17 +02:00
Stefan Dösinger 13f24c3808 wined3d: Select onscreen contexts based on the thread id. 2007-07-03 12:30:33 +02:00
H. Verbeet 5e78a83cb2 wined3d: Call IWineD3DDeviceImpl_FindTexUnitMap for cards without support for NV_REGISTER_COMBINERS as well. 2007-07-02 13:35:50 +02:00
H. Verbeet 860aa6993b wined3d: Get rid of the oneToOneTexUnitMap field. 2007-06-29 13:42:26 +02:00
H. Verbeet 92fc808b05 wined3d: In device_map_psamplers(), only touch the sampler mapping for samplers that are used by the shader. 2007-06-29 13:42:20 +02:00
H. Verbeet 99e3abab30 wined3d: Cleanup device_map_fixed_function_samplers(). 2007-06-29 13:42:12 +02:00
H. Verbeet 47708a7717 wined3d: Check more thoroughly if a stage references a texture. 2007-06-28 11:01:34 +02:00
H. Verbeet d2d6952fd5 wined3d: Map vertex samplers to a texturing unit. 2007-06-28 11:01:25 +02:00
H. Verbeet 3220ba45e8 wined3d: Map vertex sampler numbers to the correct internal array indices for GetTexture and SetTexture. 2007-06-26 11:57:34 +02:00
H. Verbeet f89c2d96db wined3d: Map vertex sampler numbers to the correct internal array indices for GetSamplerState and SetSamplerState. 2007-06-26 11:57:26 +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 3ad03206ab wined3d: Rename max_samplers to max_fragment_samplers. 2007-06-26 11:56:57 +02:00
H. Verbeet a7e4669910 wined3d: Split of the mapping of pixel shader samplers from IWineD3DDeviceImpl_FindTexUnitMap(). 2007-06-25 11:43:36 +02:00
H. Verbeet 10ffa291e2 wined3d: Remove the sharing of mapping code for fixed function and pixel shader samplers. 2007-06-25 11:43:26 +02:00
H. Verbeet 2aa891c175 wined3d: Split of the mapping of fixed function samplers from IWineD3DDeviceImpl_FindTexUnitMap(). 2007-06-25 11:43:16 +02:00
H. Verbeet b1579b37ea wined3d: Keep track of what fixed function texture stages are in use. 2007-06-25 11:43:05 +02:00
H. Verbeet b928cadde8 wined3d: Keep track of what stage a texturing unit is mapped to. 2007-06-25 11:42:54 +02:00
Stefan Dösinger 2f4b9e42bc wined3d: Move material applying to the state table. 2007-06-25 11:35:59 +02:00
H. Verbeet 6d0e14d947 wined3d: Do not mark texture stages > MAX_TEXTURES dirty, they don't exist. 2007-06-22 12:19:19 +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 030b92a2f6 wined3d: Remove the FVF codepath from drawprim. 2007-06-21 13:09:08 +02:00
Stefan Dösinger 6e5a5d2736 wined3d: DDraw surfaces are QWORD aligned. 2007-06-14 13:22:52 +02:00
Phil Costin 72865b8ca2 wined3d: Remove a duplication in device.c. 2007-06-14 13:14:35 +02:00
H. Verbeet b9d5c18062 wined3d: Call IWineD3DDeviceImpl_FindTexUnitMap() when activating the context. 2007-06-13 11:23:18 +02:00
Francois Gouget 6f24b198f3 wined3d: Pass the D3DCB_CreateAdditionalSwapChain() error code to the upper layers (needed for d3d9). 2007-06-13 11:08:28 +02:00
Stefan Dösinger d88fe52564 wined3d: Do not set the dynlock flag on all created surfaces. 2007-06-12 11:13:38 +02:00
Stefan Dösinger ef65b233c0 wined3d: Some render target->texture blit context handling. 2007-06-11 13:56:47 +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
H. Verbeet 473e914c29 wined3d: Turn off filtering for FBO attachments, update the texture's states array. 2007-06-07 20:23:29 +02:00
Francois Gouget 96c337f0a1 Assorted spelling fixes. 2007-06-07 19:24:32 +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 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
H. Verbeet 785771272a wined3d: Get rid of the BaseVertexIndex parameter to IWineD3DDeviceImpl_SetIndices, use SetBaseVertexIndex instead. 2007-06-06 12:10:47 +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
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
Stefan Dösinger d08585e6ec wined3d: Manage private data in a wine linked list. 2007-05-10 12:10:20 +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 f2e30a0a1c wined3d: Unset the StreamIsUP flag in ProcessVertices. 2007-05-08 18:29:15 +02:00
H. Verbeet 5d00923017 wined3d: Remove some redundant fields from IWineD3DBaseTextureImpl. 2007-05-04 13:41:45 +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 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
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
H. Verbeet af8e6ed14a wined3d: Actually use the calculated mipmap surface sizes in IWineD3DDeviceImpl_CreateVolumeTexture. 2007-04-24 10:20:11 +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
H. Verbeet e0a94b906c wined3d: Implement ColorFill using FBOs, if they're being used. 2007-04-17 11:13:14 +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 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 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
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 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 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
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 fd6395f0c7 wined3d: Fix UpdateSurface for sourceRect != sourceWidth. 2007-04-05 10:54:24 +02:00
Stefan Dösinger 4f5d33311b wined3d: Use GL_APPLE_client_storage if available. 2007-04-02 11:34:12 +02:00
Felix Nawothnig c343fb1cdf wined3d: Make CreateCubeTexture fail when not supported. 2007-04-02 11:28:39 +02:00
Stefan Dösinger 2cdbd9a53d wined3d: Store the pixel format in the texture. 2007-03-21 22:50:49 +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 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
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
Stefan Huehner 4d1d01f266 Mark several functions as static. 2007-03-13 13:35:12 +01:00
H. Verbeet ee09e8bfd6 wined3d: Remove FVF related fields from IWineD3DVertexDeclaration. 2007-03-13 11:54:24 +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
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 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 5f05906f3b wined3d: Store the number of aux buffers in the gl limits structure. 2007-03-06 22:16:25 +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
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 409aa73132 wined3d: Move clip planes to the state table. 2007-02-28 21:09:37 +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
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
Francois Gouget 396bad1f6e Use the SW_XXX constants when calling ShowWindow(). 2007-02-23 11:17:54 +01:00
Stefan Dösinger a72b561947 wined3d: Do not use glMapBuffer in ProcessVertices. 2007-02-21 10:59:55 +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 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 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 06f2829b92 wined3d: Pretend to support event queries. 2007-02-19 13:10:10 +01:00
Stefan Dösinger 03bc11fa16 wined3d: Visual test framework. 2007-02-19 13:07:44 +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 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 8e84127aed wined3d: Restore the display mode when releasing a swapchain. 2007-02-15 16:56:02 +01:00
H. Verbeet 34e74ffc2a wined3d: Use WINED3D_OK rather than D3D_OK. 2007-02-15 11:15:50 +01:00
H. Verbeet 3e77ffc563 wined3d: Use WINED3DPRESENT_BACK_BUFFER_MAX rather than D3DPRESENT_BACK_BUFFER_MAX. 2007-02-15 11:15:41 +01:00
H. Verbeet d4d165afd8 wined3d: Use WINED3DUSAGE rather than D3DUSAGE. 2007-02-15 11:15:33 +01:00
Stefan Dösinger 388499ff28 wined3d: More fullscreen window fixes. 2007-02-14 20:46:51 +01:00
Stefan Dösinger 0feddccfe3 wined3d: Instancing emulation. 2007-02-14 20:46:25 +01:00
Stefan Dösinger aec06f60e7 wined3d: Do not leave SetStreamSource early. 2007-02-14 20:45:54 +01:00
Stefan Dösinger e6fedfca7a wined3d: Do not release the local vertex buffer copy. 2007-02-14 20:45:44 +01:00
Stefan Dösinger 40c85a60b7 wined3d: SetStreamSource does not modify stream flags. 2007-02-14 20:45:32 +01:00
Stefan Dösinger 174b6321eb wined3d: Move lights to the state table. 2007-02-14 20:45:15 +01:00
Stefan Dösinger acadf3f241 wined3d: Replace the light chain with a hashmap. 2007-02-14 20:44:58 +01:00
H. Verbeet dea795f7ac d3d9: Don't store the d3d9 declaration in the wined3d object. 2007-02-14 13:54:42 +01:00
H. Verbeet 32e5cac2be wined3d: Get rid of the vertexDeclaration field in IWineD3DVertexShaderImpl. 2007-02-14 13:54:29 +01:00
Stefan Dösinger 0ddd236480 wined3d: Check error conditions before creating the object. 2007-02-14 12:29:19 +01:00
Stefan Dösinger b48dfb3c54 wined3d: Always use np2 repacking if no native np2 support is available. 2007-02-14 12:29:01 +01:00
Stefan Dösinger c3f0eb489b wined3d: Remove pow2Size from the surfaces. 2007-02-14 12:28:19 +01:00
Stefan Dösinger e16d08f011 wined3d: Show fullscreen rendering windows. 2007-02-14 12:28:04 +01:00
Stefan Dösinger f196680c59 wined3d: GetRenderTargetData can call BltFast. 2007-02-14 12:27:37 +01:00
Stefan Dösinger f5f501d573 wined3d: Use the context manager to create onscreen contexts. 2007-02-13 12:08:02 +01:00
Stefan Dösinger 12252d0589 wined3d: Use the context manager to select the primary render target. 2007-02-13 12:05:35 +01:00
Stefan Dösinger 7253fae31f wined3d: Make the context array dynamic. 2007-02-13 12:04:40 +01:00
Stefan Dösinger 380930dc54 wined3d: Store dirty states per context. 2007-02-13 11:55:07 +01:00
Stefan Dösinger e6c9a073b0 wined3d: Store state optmization members in the context. 2007-02-13 11:50:38 +01:00
Stefan Dösinger 67b1f4a7e9 wined3d: BeginScene and EndScene tests and fixes. 2007-02-12 12:08:34 +01:00
H. Verbeet 4352934b84 wined3d: Use SetupFullscreenWindow() to make the window fullscreen. 2007-01-19 12:29:05 +01:00
H. Verbeet 6112522122 wined3d: Move SetupFullscreenWindow() and RestoreWindow() from IDirectDrawImpl to IWineD3DDeviceImpl. 2007-01-19 12:28:58 +01:00
Stefan Dösinger 1d3abdeeaa wined3d: Store the stream number in the strided structure. 2007-01-17 11:23:54 +01:00
Dmitry Timoshkov 5ddac44dc2 wined3d: Do not play with WS_VISIBLE, this causes unwanted mapping/unmapping of the window. 2007-01-15 12:44:18 +01:00
Stefan Dösinger 8c8d1e4f89 wined3d: Do not force dynamic usage on transformed buffers. 2007-01-15 12:43:46 +01:00
Stefan Dösinger e328e24daa wined3d: Better tracking of vertex buffer assignments. 2007-01-15 12:43:40 +01:00
Stefan Dösinger ce0773a02e wined3d: Avoid a NULL pointer dereference in UpdateTexture (Coverity). 2007-01-12 11:50:04 +01:00
Stefan Dösinger cb74603e43 d3d9: Implement IDirect3DDevice9::StretchRect. 2007-01-12 11:49:38 +01:00
Stefan Dösinger d4b63bbd87 wined3d: Store the scissor rect in the stateblock. 2007-01-10 22:01:20 +01:00
Michael Stefaniuc 33af3c5c83 janitorial: Use the C standard for multiline strings. 2007-01-10 12:28:19 +01:00
Michael Stefaniuc 290ae94e66 wined3d: Remove stray '\' at end of lines. 2007-01-09 12:03:50 +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 09ab812e79 wined3d: Avoid negative draw start indices. 2007-01-08 20:58:11 +01:00
Stefan Dösinger 8e37fcd266 wined3d: Move applying shader constants to the state table. 2007-01-08 20:57:57 +01:00
Francois Gouget bbb2b7fd98 Assorted spelling fixes. 2007-01-04 11:27:31 +01:00
Stefan Dösinger 2ffc90d670 wined3d: Dirtify the stream sources in DrawPrimitiveUP. 2007-01-04 10:58:29 +01:00
Stefan Dösinger 5d2ce97136 wined3d: Catch NOP SetStreamSource changes. 2007-01-04 10:58:02 +01:00
Stefan Dösinger 4e0f7ccd7d wined3d: Catch nop pixel shader changes. 2007-01-04 10:57:49 +01:00
Stefan Dösinger cd9a3517f3 wined3d: Catch NOP vertex declaration changes. 2007-01-04 10:57:41 +01:00
Stefan Dösinger 0d700bef5d wined3d: Break the viewport out of the vertex declaration state. 2007-01-04 10:57:33 +01:00
Stefan Dösinger e26e3ee5f3 wined3d: Remove d3ddevice_set_ortho. 2007-01-03 11:19:55 +01:00
Stefan Dösinger 5fa0f7f775 wined3d: Move the world matrix to the state table. 2007-01-03 11:19:09 +01:00
Stefan Dösinger 20de200fa3 wined3d: Move the functionality of primitiveInitState to the state table. 2007-01-03 11:17:08 +01:00
Stefan Dösinger a48bbc3611 wined3d: Add a viewport state to the state table. 2007-01-03 11:10:13 +01:00
Stefan Dösinger 04ce141940 wined3d: Pass the user pointer strided structure via the device implementation. 2007-01-03 11:03:03 +01:00
Stefan Dösinger 71631f7638 wined3d: Use the baseVertexIndex in the stateblock. 2007-01-03 11:02:51 +01:00
Alexandre Julliard 656fc93815 Use GetDC instead of CreateDC where possible. 2007-01-02 17:16:36 +01:00
Vitaliy Margolen f9e5c12019 wined3d: Clip mouse after resolution change while creating default swap chain. 2007-01-02 13:21:19 +01:00
Stefan Dösinger ef1ebb6e4d wined3d: Add emtpy vertex declaration and related states to the state table. 2007-01-02 12:29:18 +01:00
Stefan Dösinger f5fafab663 wined3d: Move WINED3DTS_MODELVIEW to the state table. 2007-01-02 12:25:00 +01:00
Stefan Dösinger 197ec1c179 wined3d: Remove IWineD3DDevice_ApplyStateChanges. 2007-01-02 12:22:04 +01:00
Stefan Dösinger c10efb3492 wined3d: Move WINED3DTS_TEXTURETRANSFORMFLAGS to the state table. 2007-01-02 12:21:50 +01:00
Alexandre Julliard bbfe120036 Revert "wined3d: Where possible, avoid using D3DCOLORTOGLFLOAT4."
This reverts commit 045975b1f4.
2006-12-29 11:35:57 +01:00
H. Verbeet c972351051 wined3d: Move set_glsl_shader_program() to glsl_shader.c. 2006-12-28 12:17:49 +01:00
H. Verbeet 045975b1f4 wined3d: Where possible, avoid using D3DCOLORTOGLFLOAT4. 2006-12-28 12:17:29 +01:00
Chris Robinson b7b9d4e3c7 d3d: GetStreamSource on a stream with NULL data isn't an error. 2006-12-26 12:52:54 +01:00
H. Verbeet 957474f223 wined3d: Skip NULL textures rather than non-NULL ones, assign -1 to skipped stages.
Downgrade a FIXME to a WARN.
2006-12-26 12:50:44 +01:00
H. Verbeet bf250285ff wined3d: Restore texture bindings in the FBO code. 2006-12-26 12:37:38 +01:00
Stefan Dösinger bc90458244 wined3d: Do not mark texture stages above MAX_TEXTURES dirty. 2006-12-26 12:37:00 +01:00
Stefan Dösinger df97fd3e46 wined3d: Reinstall the nvrc texture unit mapping. 2006-12-20 17:09:40 +01:00
Stefan Dösinger a008003ccc wined3d: Catch nop pixel shader changes. 2006-12-20 17:09:29 +01:00
Stefan Dösinger 22e2a5aca5 wined3d: Add pixel shaders to the state table. 2006-12-20 17:09:21 +01:00
Stefan Dösinger 8365b2819a wined3d: Catch nop sampler changes. 2006-12-20 17:09:08 +01:00
Stefan Dösinger 666b507766 wined3d: Move samplers to the state table. 2006-12-20 17:07:56 +01:00
Stefan Dösinger 7f973c9375 wined3d: Catch nop SetTextureStageState calls. 2006-12-20 17:07:37 +01:00
Stefan Dösinger 4e5314011b wined3d: Move WINED3DTSS_TEXCOORDINDEX to the state table. 2006-12-20 17:06:24 +01:00
Stefan Dösinger bd6a6ad2c0 wined3d: Move WINED3DTSS_ALPHAOP to the state table. 2006-12-20 17:06:10 +01:00
Stefan Dösinger 762af471e8 wined3d: Move WINED3DTSS_COLOROP to the state table. 2006-12-20 17:06:00 +01:00
H. Verbeet e4fc45e0fe wined3d: Allow wined3d to handle multiple render targets. 2006-12-20 12:32:30 +01:00
H. Verbeet 299c1e62bf wined3d: Allow the FBO code to handle multiple render targets. 2006-12-20 12:32:13 +01:00
H. Verbeet 577dbb578b wined3d: Move storing the render target from ActiveRender to SetRenderTarget.
Use the render target index rather than hardcoding 0.
2006-12-20 12:31:57 +01:00
H. Verbeet 8355b1a501 wined3d: Allow the device to store multiple render targets. 2006-12-20 12:31:40 +01:00
Stefan Dösinger 062b6ffc5c wined3d: Catch nop render state changes. 2006-12-19 16:53:18 +01:00
Stefan Dösinger c83562af69 wined3d: Move render state applying to drawprim. 2006-12-19 16:53:07 +01:00
Stefan Dösinger 7532c759f1 wined3d: Add the state dirtification infrastructure. 2006-12-19 16:53:00 +01:00
Markus Amsler 5e0fc62135 d3d: Callback infrastructure for implicit swap chain destruction in IWineD3DDevice. 2006-12-18 12:07:26 +01:00
Markus Amsler 0bceec1be8 wined3d: Call the depth stencil destroy callback function. 2006-12-18 12:01:39 +01:00
Vitaliy Margolen 2a63a03eb1 wined3d: When changing display modes clip cursor to the requested display size. 2006-12-15 13:44:36 +01:00
Stefan Dösinger 17eabc42b3 wined3d: Clean up SetRenderState. 2006-12-15 12:18:52 +01:00
Stefan Dösinger 46028b0832 wined3d: D3DRS_ZVISIBLE is not supposed to return an error. 2006-12-15 12:18:36 +01:00
Stefan Dösinger 92460b98d1 wined3d: Move WINED3DRS_SEPARATEALPHABLENDENABLE to the state table. 2006-12-11 16:27:04 +01:00
Stefan Dösinger 8a5bf91b4e wined3d: Move SRGBWRITEENABLE to the state table. 2006-12-11 16:26:53 +01:00
Stefan Dösinger cd0d0a7041 wined3d: Move tesselation to the state table. 2006-12-11 16:26:39 +01:00
Stefan Dösinger 3bb41771ad wined3d: Move WINED3DRS_NORMALDEGREE to the state table. 2006-12-11 16:26:25 +01:00
Stefan Dösinger 052197acb0 wined3d: Move WINED3DRS_POSITIONDEGREE to the state table. 2006-12-11 16:26:14 +01:00
Stefan Dösinger e25edbfc66 wined3d: Make WINED3DRS_DEBUGMONITORTOKEN a nogl state. 2006-12-11 16:26:05 +01:00
Stefan Dösinger 8197470d67 wined3d: Move WINED3DRS_PATCHSEGMENTS to the state table. 2006-12-11 16:25:48 +01:00
Stefan Dösinger e498a16124 wined3d: Move WINED3DRS_PATCHEDGESTYLE to the state table. 2006-12-11 16:25:13 +01:00
Stefan Dösinger d7b8549963 wined3d: Move WINED3DRS_MULTISAMPLEMASK to the state table. 2006-12-11 16:25:03 +01:00
Stefan Dösinger 55a5b4ca1e wined3d: Move WINED3DRS_ANTIALIAS to the state table. 2006-12-11 16:24:52 +01:00
Stefan Dösinger 2710be0327 wined3d: Move WINED3DRS_STIPPLEDALPHA to the state table. 2006-12-11 16:24:38 +01:00
Stefan Dösinger 312be46415 wined3d: Move WINED3DRS_TEXTUREPERSPECTIVE to the state table. 2006-12-11 16:24:23 +01:00
Stefan Dösinger 30cf5e4e90 wined3d: Move WINED3DRS_DEPTHBIAS to the state table. 2006-12-11 16:24:10 +01:00
Stefan Dösinger d7e55c2841 wined3d: Move WINED3DRS_SCISSORTESTENABLE to the state table. 2006-12-11 16:23:57 +01:00
Stefan Dösinger 0c1aba5fe2 wined3d: Move WINED3DRS_MULTISAMPLEANTIALIAS to the state table. 2006-12-11 16:23:45 +01:00