Commit Graph

853 Commits

Author SHA1 Message Date
Stefan Dösinger 1c9f1f8ddd wined3d: Support framebuffer reading from texture_rectangle sources. 2008-04-24 11:43:18 +02:00
Austin English 6e59cd2c34 Spelling fixes. 2008-04-22 12:20:12 +02:00
David Adam 7df193676e wined3d: Fix a possible null dereference. 2008-04-21 16:54:00 +02:00
Chris Robinson fd823fc2d2 wined3d: Check for NULL vertex declarations. 2008-04-09 12:17:35 +02:00
Stefan Dösinger 481bcdfe2a wined3d: Disable MAG filters on formats that do not support them. 2008-04-09 11:53:35 +02:00
Stefan Dösinger 0cbd08b2b9 wined3d: Disable texture filtering on textures that do not support it.
OpenGL always offers filtering on all formats, and if the hardware
doesn't support it the driver falls back to software. Direct3D on the
other hand silently disables filtering, so that's what we should do too.
2008-04-09 11:48:13 +02:00
Stefan Dösinger 4bb54a1ab7 wined3d: Make the min mip lookup type a texture property. 2008-04-09 11:47:58 +02:00
Stefan Dösinger 67e0943ba3 wined3d: Store the number of aux buffers in the context. 2008-04-09 11:47:24 +02:00
Stefan Dösinger df2b1bea63 wined3d: Mark the SYSMEM copy outdated after releasing memory.
Strictly speaking this is redundant because the UnLoad before did the
job, but if we mess with the allocated memory we have to tell the
surface about that. Updating INDRAWABLE will automatically mark SYSMEM
outdated.
2008-04-08 11:59:46 +02:00
Rico Schüller 73d98ccd4e wined3d: Filter out invalid stuff in SetStreamSourceFreq(). 2008-04-07 21:19:57 +02:00
Alexander Dorofeyev 71ca80355d wined3d: move ENTER_GL in IWineD3DDeviceImpl_Init3D. 2008-04-07 21:18:28 +02:00
Alexander Dorofeyev 2157c7d76c wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DDeviceImpl_ResourceReleased. 2008-04-07 21:17:37 +02:00
Alexander Dorofeyev a2017f4f21 wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DDeviceImpl_ColorFill. 2008-04-07 21:17:31 +02:00
Alexander Dorofeyev 7c261553d0 wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DDeviceImpl_Uninit3D. 2008-04-07 21:17:26 +02:00
Francois Gouget 8a18e0e43a Assorted spelling fixes. 2008-04-07 13:36:18 +02:00
Alexander Dorofeyev d6ba069d9e wined3d: Improve detection of device palette change. 2008-04-03 11:31:57 +02:00
Stefan Dösinger b1d8af7926 wined3d: Update copyright lines. 2008-04-02 20:22:42 +02:00
Stefan Dösinger ab86a4e963 wined3d: Catch D3DUSAGE_AUTOGENMIPMAP and D3DUSAGE_RENDERTARGET combos. 2008-04-01 20:31:59 +02:00
Stefan Dösinger a29a229324 wined3d: Refuse 3D initialization without opengl. 2008-04-01 20:31:44 +02:00
Stefan Dösinger f761b90801 wined3d: Free heapMemory, not allocatedMemory when adjusting the surface. 2008-03-27 11:19:05 +01:00
Alexander Dorofeyev 165970992a wined3d: Make device palettes dynamically allocated. 2008-03-27 11:09:06 +01:00
Stefan Dösinger 28fdebe404 wined3d: Alloc / free shader private data and blt stuff in Init3D/Uninit3D. 2008-03-25 19:48:24 +01:00
Stefan Dösinger ac57b4e2f5 wined3d: Free shader private data on reset.
Since the shader backend implementations might track opengl resources in
their private data inform them about reset calls. For example, the atifs
backend keeps track of the replacement shaders, which are lost during an
opengl context recreation.
2008-03-25 19:48:14 +01:00
Stefan Dösinger 84258723f9 wined3d: Make the state table a property of the shader backend. 2008-03-25 19:35:32 +01:00
Andrew Talbot 19c105c79c wined3d: Assign to structs instead of using memcpy. 2008-03-21 11:24:05 +01:00
Stefan Dösinger c5117dab68 wined3d: Set the fullscreen flag before the display Mode. 2008-03-11 12:11:52 +01:00
Stefan Dösinger c81b114269 wined3d: Only restore the style and exStyle when it is untouched. 2008-03-11 12:11:52 +01:00
Stefan Dösinger a9fb81b2ed wined3d: Only adjust windows in fullscreen mode to the screen. 2008-03-11 12:11:52 +01:00
Stefan Dösinger 107e80a79c wined3d: Implement a different constant dirtification algorithm.
Add a new property of the shader backend which indicates whether the
shader backend is able to dirtify single constants rather than
dirtifying vshader and pshader constants as a whole. Depending on this
a different Set*ConstantF implementation is used which marks constants
dirty. The ARB shader backend uses this and marks constants clean
after uploading.
2008-03-04 12:15:16 +01:00
Stefan Dösinger 32be503c62 wined3d: Give occlusion queries their own vtable. 2008-03-03 11:58:10 +01:00
Stefan Dösinger 071d4afb2b wined3d: Subclass queries. 2008-03-03 11:57:59 +01:00
James Hawkins c2a627c6e8 janitorial: Remove links to any microsoft site. 2008-03-01 12:17:07 +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 f912f18b13 wined3d: Move shader model private data into its own structure. 2008-02-26 11:31:39 +01:00
Rico Schüller 59a43c4cc9 wined3d: Fix memcpy with wrong size parameter to simple assignment in GetScissorRect. 2008-02-15 12:08:54 +01:00
Stefan Dösinger 62a92d160e wined3d: Restore the Window size on reset. 2008-02-07 13:05:44 +01:00
Stefan Dösinger b322f81b75 wined3d: Reject unsupported modes when restting the device. 2008-02-07 13:05:27 +01:00
Stefan Dösinger cb6de00c86 wined3d: Tear down the dummy textures before resetting.
In theory the opengl library should release the gl resources when we
destroy the context, and the stateblock reset will recreate the dummy
textures, but I think it is cleaner to do this explicitly.
2008-02-06 12:43:53 +01:00
Stefan Dösinger 564532f026 wined3d: Restore the stateblock after Reset. 2008-02-06 12:43:53 +01:00
Stefan Dösinger dcf08f01ed wined3d: Recreate the contexts on _Reset. 2008-02-05 12:42:39 +01:00
Stefan Dösinger e7393a8a11 wined3d: Move vertex buffer vbo creation to PreLoad. 2008-02-05 12:42:30 +01:00
Stefan Dösinger 08391b82c1 wined3d: Update the gl rectangle when adjusting surface sizes. 2008-02-05 12:37:28 +01:00
Stefan Dösinger 1424e7fd09 wined3d: Make Clear aware of the depth stencil sharing. 2008-02-05 12:37:01 +01:00
Stefan Dösinger 3d2aa7afa0 wined3d: De-Statify depth blit opengl resources. 2008-02-05 12:33:15 +01:00
Stefan Dösinger 4c99bd5f87 wined3d: Destroy FBOs and reset pointers on Reset. 2008-02-05 12:32:49 +01:00
Stefan Dösinger c1538f8048 wined3d: Update the auto depth stencil buffer size on reset. 2008-02-05 12:32:30 +01:00
Stefan Dösinger b706a62aff wined3d: Beware of texture_rectangle NP2 support in Reset. 2008-02-05 12:32:22 +01:00
Alexandre Julliard e84daed485 Avoid sizeof in traces. 2008-01-24 14:03:10 +01:00
Andrew Talbot ebcedd0350 wined3d: Remove unneeded casts. 2008-01-24 11:41:30 +01:00
Francois Gouget d0794c4aeb Assorted spelling fixes. 2008-01-23 21:16:22 +01:00
Roderick Colenbrander a1364d11c0 wined3d: Don't use texture_rectangle for paletted textures. 2008-01-23 11:31:42 +01:00
Marcus Meissner 755d806f1a wined3d: Initialize swapchain. 2008-01-22 12:58:14 +01:00
Austin English 3471f841a1 wined3d: Spelling fixes. 2008-01-18 12:53:33 +01:00
Marcus Meissner 293ec5843d wined3d: Check for overflows. 2008-01-16 19:14:38 +01:00
Allan Tong 7b40fd645d wined3d: Set swapchain container before flagging front buffer with SFLAG_INDRAWABLE. 2008-01-15 14:35:20 +01:00
Stefan Dösinger 11d6ed0c0b wined3d: Destroy opengl shaders on reset. 2008-01-14 15:21:08 +01:00
Stefan Dösinger 09bf3d5aea wined3d: Keep track of shaders. 2008-01-14 15:20:42 +01:00
Stefan Dösinger c3c6c6f543 wined3d: Unload all resources on Reset. 2008-01-14 15:20:34 +01:00
Stefan Dösinger 80953d62d7 d3d9: Reject IDirect3DDevice9::Reset with active default pool resources. 2008-01-14 15:12:00 +01:00
Alexandre Julliard 980ee365a0 wined3d: Use unsigned int instead of size_t for element counts. 2008-01-07 17:17:04 +01:00
Gerald Pfeifer 21a9c2d2f9 wined3d: Removed dead FIXME checks. 2008-01-03 11:53:29 +01:00
H. Verbeet 3f6c3d2db0 wined3d: Properly handle the surface location in stretch_rect_fbo(). 2008-01-03 11:40:31 +01:00
H. Verbeet c46c53a12c wined3d: Call ActivateContext regardless of WINED3DCREATE_MULTITHREADED. 2008-01-03 11:40:31 +01:00
Gerald Pfeifer 520832451f wined3d: Simplify three checks based on the unsignedness of variables. 2008-01-02 12:38:42 +01:00
Alexander Dorofeyev eb3fb4bf28 wined3d: Use IWineD3DDeviceImpl_ClearSurface in IWineD3DDeviceImpl_Clear. 2007-12-21 13:58:19 +01:00
Alexander Dorofeyev f5aaabd1f2 wined3d: Rewrite IWineD3DSurfaceImpl_BltOverride colorfill codepath. 2007-12-21 13:58:13 +01:00
Stefan Dösinger e27cf6ff8f wined3d: Per stream offsets are 4 byte aligned. 2007-12-21 13:44:06 +01:00
Stefan Dösinger 8ff517eeb9 wined3d: Vertex attributes are 4 byte aligned. 2007-12-21 13:43:58 +01:00
Stefan Dösinger b475047cc0 wined3d: Improve some traces. 2007-12-21 13:14:58 +01:00
Stefan Dösinger b5f925cae0 wined3d: Implement half float vertex buffer conversion. 2007-12-21 13:13:56 +01:00
Stefan Dösinger b83dc6bbf6 wined3d: Move the GL info structure into the adapter. 2007-12-20 12:10:08 +01:00
Stefan Dösinger 30c1abb1eb wined3d: Always dump the fbo state on errors. 2007-12-20 10:48:08 +01:00
Stefan Dösinger f78ae8d125 wined3d: Use SetDisplayMode to set the display mode. 2007-12-12 13:46:04 +01:00
Stefan Dösinger 51adbf5bbf wined3d: Remove 24/32 bit hacks. 2007-12-12 13:45:50 +01:00
Stefan Dösinger 7f10ee453a wined3d: Use the adapter to read the display mode. 2007-12-11 12:14:35 +01:00
Detlef Riekenberg efb13b28df Assorted spelling fixes. 2007-12-08 19:55:39 +01:00
Stefan Dösinger 0e8c13e630 wined3d: A more detailed occlusion query test and fixes. 2007-12-07 15:27:11 +01:00
Stefan Dösinger f4d2449244 wined3d: Test clearing regarding the scissor test and colorwrite. 2007-12-06 13:48:43 +01:00
Stefan Dösinger 1ac109e5a0 wined3d: Use the proper drawable size when clearing. 2007-12-04 14:32:39 +01:00
Stefan Dösinger fce9abd095 wined3d: Clear honors the viewport. 2007-12-04 14:32:39 +01:00
Stefan Dösinger bd10d5261f wined3d: Fixes for drawable handling in Clear. 2007-12-04 14:32:39 +01:00
Stefan Dösinger 9bc6200ece wined3d: Add a method for querying the gl drawable size of rendertarget. 2007-12-04 14:32:39 +01:00
Stefan Dösinger 79e13d17be wined3d: Add parentheses to a flag check. 2007-12-03 13:44:41 +01:00
Stefan Dösinger 3cc253c557 wined3d: Enabling too many lights is silently ignored.
I'm resending this patch because my reply to Henri's concern came too late. 
Henri noted that I am enabling lights that do not exist. Existing tests show 
that if no light is assigned to the index, LightEnable creates a light with a 
set of default parameters, so the tests should be fine.

From 9ee4c61805b50886f79e87d744b52f27b7b00b4e Mon Sep 17 00:00:00 2001
From: Stefan Doesinger <stefan@codeweavers.com>
Date: Thu, 29 Nov 2007 13:22:47 +0100
Subject: [PATCH] WineD3D: Enabling too many lights is silently ignored

This patch adds tests for all d3d versions that show that Windows
pretends that enabling more lights than supported succeeds. D3D_OK is
returned, and the light is reported as enabled.

What is not tested in this patch is the rendering output of this
situation, thus the FIXME is still written.
2007-12-03 13:44:07 +01:00
Stefan Dösinger d09cbcec91 wined3d: Activate GL_ARB_texture_rectangle. 2007-11-29 13:36:55 +01:00
Stefan Dösinger 8964336b37 wined3d: Refuse to create a mipmapped conditional np2 texture. 2007-11-29 13:36:47 +01:00
Stefan Dösinger 3fd0916654 wined3d: Make the code aware of GL_ARB_texture_rectangle. 2007-11-29 13:36:37 +01:00
Stefan Dösinger 46647e58fa wined3d: Downgrade an ERR to a WARN. 2007-11-27 16:02:28 +01:00
Lauris Kaplinski 49ea085f11 wined3d: Fixed potential reference of freed backBuffer array in IWineD3DDeviceImpl_SetFrontBackBuffers. 2007-11-27 15:18:16 +01:00
Stefan Dösinger 1fc1fe3c6e wined3d: Use standard wine lists for the resource list. 2007-11-20 13:10:46 +01:00
Stefan Dösinger bd97580683 wined3d: Move IUnknown functions to IWineD3DBaseShader. 2007-11-20 12:53:07 +01:00
Stefan Dösinger 26f7eae9cf wined3d: Non power of two texture fixes. 2007-11-14 11:59:21 +01:00
Stefan Dösinger e4f8a2da2b wined3d: Depth stencil fixes. 2007-11-14 11:58:36 +01:00
Roderick Colenbrander 33df806819 wined3d: Make sure the p8 shader is set to 0 after destroying the main render target.
This fixes a render target recreation problem in Age of Empires II.
2007-11-09 12:40:44 +01:00
Stefan Dösinger c2b6cbf014 wined3d: Refuse to create volumes and volume textures if not supported. 2007-11-07 12:07:29 +01:00
Stefan Dösinger 45ebea1f47 wined3d: Set the display mode before creating the context. 2007-11-07 12:07:20 +01:00
Stefan Dösinger 38147d28dd wined3d: Set the main hwnd before setting up the screen. 2007-11-07 12:07:05 +01:00
Stefan Dösinger 393ed4a070 wined3d: Make resource memory 32 byte aligned. 2007-11-01 12:38:45 +01:00
Stefan Dösinger 4d4fce7e33 wined3d: Disconnect allocatedMemory and Heap allocation. 2007-11-01 12:38:37 +01:00
Stefan Dösinger f1f84a3615 wined3d: Allocate memory for default pool resources too. 2007-11-01 12:38:25 +01:00