Commit Graph

1801 Commits

Author SHA1 Message Date
Stefan Dösinger d99143c251 wined3d: Move non-rendering surface specific code to the base class. 2007-09-18 09:34:08 +02:00
Stefan Dösinger 0c91610433 wined3d: Move resource methods to the base surface class. 2007-09-18 09:34:08 +02:00
Stefan Dösinger 8434060b7e wined3d: Start of some surface cleanup.
This patch and the following intend to make the surface code more
manageable and are a preparation to add gl3 support. The code adds a
new IWineD3DBaseSurface surface type, which will contain the
non-rendering management code. IWineD3DSurface and IWineGDISurface
will be derived from IWineD3DBaseSurface, and IWineGL3Surface can be
added later.
2007-09-18 09:34:08 +02:00
Michael Stefaniuc a5fdea0e6a janitorial: Remove two fresh redundant NULL checks before HeapFree(). Found by Smatch. 2007-09-17 13:47:49 +02:00
Roderick Colenbrander 2374c456bc wined3d: Add pbo support for compressed textures. 2007-09-17 12:10:40 +02:00
Roderick Colenbrander 0b0f353b7d wined3d: Update list of pci ids. 2007-09-17 12:10:33 +02:00
Roderick Colenbrander f9002c2628 wined3d: Don't create a pbo for system memory surfaces. 2007-09-17 12:10:21 +02:00
Stefan Dösinger 3961491d15 wined3d: Do not invalidate the sysmem copy if a pbo exists. 2007-09-17 12:08:54 +02:00
Stefan Dösinger f42f228621 wined3d: Do not allocate memory if there's a pbo. 2007-09-17 12:08:47 +02:00
Stefan Dösinger c5410a6f22 wined3d: Use GL_NV_depth_clamp to implement clipping disable. 2007-09-17 12:08:40 +02:00
Stefan Dösinger 9e340f0fdb wined3d: Add a fixme for D3DCMP_NOTEQUAL and D3DCMP_EQUAL. 2007-09-17 12:08:28 +02:00
Stefan Dösinger 02114ac21f wined3d: The D3DSI_COISSUE flag changes the behavior of cnd. 2007-09-14 14:26:26 +02:00
Stefan Dösinger 8273cfdf01 wined3d: Fix texdp3tex in glsl. 2007-09-14 14:26:17 +02:00
Stefan Dösinger 271fb0052f wined3d: Add support for showing a logo. 2007-09-14 14:26:00 +02:00
Stefan Dösinger 7248354067 wined3d: Pixel shader 1.x constants are clamped to [-1;1]. 2007-09-14 14:23:45 +02:00
Stefan Dösinger c0c2319c7a wined3d: Implement UpdateTexture for volumes. 2007-09-13 11:38:54 +02:00
Stefan Dösinger bc69315f78 wined3d: texm3x3(v)spec normalizes the normal vector. 2007-09-13 11:38:46 +02:00
Stefan Dösinger 0af52d2ac4 wined3d: Disable some volume texture formats. 2007-09-13 11:38:38 +02:00
Stefan Dösinger 3b07663b90 wined3d: Convert the colors to the surface format for colorfill. 2007-09-13 11:38:32 +02:00
Roderick Colenbrander ad692f2a83 wined3d: Add PBO support for dynamically locked surfaces. 2007-09-13 11:00:47 +02:00
Stefan Dösinger 160258b637 wined3d: Implement mipmap auto generation. 2007-09-12 12:10:25 +02:00
Stefan Dösinger 5ab9d85c39 wined3d: Implement texbeml. 2007-09-12 12:10:03 +02:00
Stefan Dösinger 0ed81b20af wined3d: Emulate D3DFMT_L6V5U5. 2007-09-12 12:09:56 +02:00
Stefan Dösinger 9ef5231566 wined3d: Disable W11V11U10 and A2W10V10U10. 2007-09-12 12:09:40 +02:00
Roderick Colenbrander 12e942b135 wined3d: Move the memory code of LockRect to the end of the function.
This is needed for PBOs because for those memory allocation works differently.
2007-09-12 11:20:35 +02:00
Stefan Dösinger 41bf0d48db wined3d: Fix WINED3DFMT_X8L8V8U8. 2007-09-11 13:48:15 +02:00
Stefan Dösinger 422e0ba1cc wined3d: texkill ignores the .w only in ps 1.x. 2007-09-11 13:48:08 +02:00
Stefan Dösinger 8656713366 wined3d: Implement texldb. 2007-09-11 13:47:58 +02:00
Stefan Dösinger a006d2568b wined3d: Fix texdepth instruction. 2007-09-11 13:47:49 +02:00
Stefan Dösinger a305af0b30 wined3d: Fix the z range. 2007-09-11 13:47:36 +02:00
Roderick Colenbrander 63c06b4b38 wined3d: Fix ddraw-opengl surface free bug. 2007-09-10 16:47:49 +02:00
Chris Robinson 8d32a490a1 wined3d: Add X4R4G4B4 and A4R4G4B4 to formats allowed in getColorBits. 2007-09-10 16:41:18 +02:00
Louis Lenders a7558ce756 wined3d: Add WINED3DPRESENT_INTERVAL_ONE flag. 2007-09-10 16:14:11 +02:00
Stefan Dösinger 282696b4f6 wined3d: Supply texture coords even if no texture is bound and pshaders are used. 2007-08-31 19:32:46 +02:00
Stefan Dösinger 75f9bf43be wined3d: Raise the 1x pixelshader max value to the d3d minimum. 2007-08-31 12:08:58 +02:00
Stefan Dösinger 33ecb1db1a wined3d: The temp vars are tmp0 and tmp1. 2007-08-31 12:08:57 +02:00
Stefan Dösinger bb213f67a3 wined3d: Take the format into account when finding the clear value. 2007-08-31 11:25:46 +02:00
Francois Gouget a116879507 Assorted spelling fixes. 2007-08-30 12:26:02 +02:00
Stefan Dösinger 643d1e8847 wined3d: Tidy up the vbo removal from the strided data. 2007-08-30 11:57:18 +02:00
Stefan Dösinger a489aa488b wined3d: Accept rendering to sublevels with backbuffer orm. 2007-08-30 11:57:18 +02:00
Stefan Dösinger 3b822b80fe wined3d: Reject opengl accelerated blits with system memory surfaces. 2007-08-30 11:57:18 +02:00
Stefan Dösinger 0d749e8e26 wined3d: Clear unused channels on R32F and R16F textures on readback. 2007-08-30 11:57:18 +02:00
Stefan Dösinger 8c9c084004 wined3d: Use 0/0/0 as normal if no normal is supplied. 2007-08-30 11:57:18 +02:00
Roderick Colenbrander 8a7332f60f wined3d: Fix a hdc check in InitAdapters. 2007-08-29 12:25:25 +02:00
Roderick Colenbrander 9be5a5e9db wined3d: Ask for enough RGB bits for pbuffers. 2007-08-29 11:58:28 +02:00
Roderick Colenbrander dc7252a1f8 wined3d: CreateAdditionalSwapChain bugfix. 2007-08-29 11:58:22 +02:00
Chris Robinson d0a61fd269 wined3d: Don't assume the fake DC is the current DC. 2007-08-28 11:56:10 +02:00
Stefan Dösinger a8d4779f7f wined3d: Fix the spot light falloff == 0.0 case. 2007-08-28 11:56:00 +02:00
Stefan Dösinger 36aef3dc54 wined3d: Hold an internal reference on pixel and vertex shaders. 2007-08-28 11:55:53 +02:00
Stefan Dösinger c52a190a88 wined3d: Read the old streamsource from the correct stateblock. 2007-08-28 11:55:44 +02:00
Stefan Dösinger 4779a27eed wined3d: Remove the D3DTTFF_PROJECTED handling from drawStridedSlow. 2007-08-28 11:55:33 +02:00
Stefan Dösinger 322b55e29a wined3d: Fix the half pixel correction. 2007-08-28 11:55:27 +02:00
Stefan Dösinger fe0f0eb48a wined3d: Some texture transform fixes. 2007-08-27 18:28:43 +02:00
Stefan Dösinger a8e21d0692 wined3d: Texture transforms are disabled when drawing rhw vertices. 2007-08-27 18:28:38 +02:00
Stefan Dösinger 2665a8bf79 wined3d: Add some missing vertex state render states. 2007-08-27 18:28:32 +02:00
Stefan Dösinger 9092f557d1 wined3d: Non-primary stateblocks hold an internal reference on indexbuffers. 2007-08-27 18:28:27 +02:00
Stefan Dösinger d170aabe20 wined3d: Non-primary stateblocks also hold an internal reference to buffers. 2007-08-27 12:00:57 +02:00
Stefan Dösinger f7530729d5 wined3d: Add the copied light to the right stateblock. 2007-08-27 12:00:49 +02:00
Stefan Dösinger 6ec6c941fa wined3d: BaseVertexIndex can be negative. 2007-08-27 12:00:42 +02:00
Stefan Dösinger 6857fc6b61 wined3d: Disable specular color when blitting. 2007-08-27 12:00:21 +02:00
Roderick Colenbrander 318f606869 wined3d: Improve pixelformat selection code. 2007-08-27 11:59:07 +02:00
Roderick Colenbrander 3084081519 wined3d: Override backbufferformat in window mode. 2007-08-27 11:59:03 +02:00
Chris Robinson 95b6155408 wined3d: Only use one fake context when building adapter info. 2007-08-27 11:58:03 +02:00
Stefan Dösinger e184b09a66 wined3d: Fake occlusion queries if the wrong context is active. 2007-08-23 13:34:52 +02:00
Stefan Dösinger a99907d1d2 wined3d: Deal with multithreading in event queries. 2007-08-23 13:34:17 +02:00
Stefan Dösinger 50c101135c wined3d: Refuse to ReleaseDC the wrong DC. 2007-08-23 13:34:00 +02:00
Stefan Dösinger ea283d3cba wined3d: Refuse to lock locked surfaces. 2007-08-23 13:33:40 +02:00
Stefan Dösinger 98bc83be7c wined3d: Fall back to drawStridedSlow if fog coords are used. 2007-08-23 13:33:22 +02:00
H. Verbeet e5e41191b3 wined3d: Attach the correct surface the the fbo. 2007-08-22 12:18:59 +02:00
H. Verbeet 2e2ab3c3cc wined3d: Restore a line that got lost. 2007-08-22 12:18:59 +02:00
Roderick Colenbrander 3c08b23024 wined3d: Fix a null pointer dereference. 2007-08-21 21:38:57 +02:00
Paul Vriens ffb1e74eac wined3d/vertexdeclaration: Return when out of memory (Coverity). 2007-08-21 21:38:52 +02:00
Stefan Dösinger 0dade7207f wined3d: Implement range based fog and advertize it correctly. 2007-08-21 13:35:57 +02:00
Stefan Dösinger 04d62b4322 wined3d: fogstart == fogend means full fog. 2007-08-21 13:35:48 +02:00
Stefan Dösinger 01c6c982bb d3d9: Some caps fixes. 2007-08-21 13:35:35 +02:00
Stefan Dösinger 55b63fe095 wined3d: Reinstall the internal reference on vertex buffers. 2007-08-20 22:32:13 +02:00
Stefan Dösinger a7a0d4dfd1 wined3d: Fix some alpha channels in formats. 2007-08-20 22:32:08 +02:00
Stefan Dösinger 306fcfeee7 wined3d: FIX D3DBLEND_BOTHSRCALPHA and BLEND_BOTHINVSRCALPHA. 2007-08-20 22:32:02 +02:00
Stefan Dösinger 4baee1973c wined3d: Remove a debug hack. 2007-08-20 22:31:55 +02:00
H. Verbeet 3c609c11e7 wined3d: UBYTE4 data shouldn't be normalized. 2007-08-20 22:24:48 +02:00
Roderick Colenbrander 9ca3a22487 wined3d: Dynamically load WGL functions. 2007-08-17 12:03:13 +02:00
Stefan Dösinger 06cc0fa95f wined3d: GL_SRC_ALPHA_SATURATE is supported as src blend param only. 2007-08-17 12:01:38 +02:00
Stefan Dösinger 581664c006 wined3d: Catch transformed position data that appears at offset 0. 2007-08-17 12:01:38 +02:00
Stefan Dösinger 86b991c851 wined3d: Fix R32F and R16F. 2007-08-17 12:01:38 +02:00
Stefan Dösinger b728ff0f55 wined3d: Simplify IWineD3DBaseTextureImpl_ApplyStateChanges. 2007-08-17 12:01:38 +02:00
Stefan Dösinger 6746554099 wined3d: Enable WINED3DSAMP_BORDERCOLOR. 2007-08-17 12:01:38 +02:00
Stefan Dösinger 028729d102 wined3d: Fix WINED3DFMT_A4L4. 2007-08-16 11:35:06 +02:00
Stefan Dösinger b220905e4a wined3d: Reinstall the internal reference on the current index buffer. 2007-08-16 11:35:06 +02:00
Stefan Dösinger 7ebf3d92b5 wined3d: Release the stateblock before destroying the swapchain. 2007-08-16 11:35:06 +02:00
Stefan Dösinger 18936a1b89 wined3d: Do not advertize A8R3R3B2 support. 2007-08-16 11:35:06 +02:00
Stefan Dösinger 56a7486235 wined3d: Fix WINED3DFMT_R3G3B2. 2007-08-16 11:35:06 +02:00
Stefan Dösinger 76195d9a49 wined3d: Reorganize stateblock::capture a bit. 2007-08-15 09:41:49 +02:00
Stefan Dösinger f5e6313cf6 wined3d: Restructure Stateblock::apply a bit. 2007-08-15 09:41:43 +02:00
Stefan Dösinger b21c785482 wined3d: Optimize float constants in stateblocks. 2007-08-15 09:36:07 +02:00
Stefan Dösinger 59fb2928b8 wined3d: Optimize sampler states in stateblocks. 2007-08-15 09:35:49 +02:00
Stefan Dösinger 6e7a10f550 wined3d: Fix a field in the wined3d header. 2007-08-15 09:35:39 +02:00
Roderick Colenbrander 3d58a065df wined3d: Load wglGetProcAddress from opengl32.dll instead of gdi32.dll when USE_WIN32_OPENGL is defined. 2007-08-14 20:29:21 +02:00
Roderick Colenbrander 4ad17c0c38 wined3d: Dynamically load OpenGL. 2007-08-14 13:32:08 +02:00
Roderick Colenbrander b78923d015 wined3d: Don't use ENTER_GL/LEAVE_GL on systems without winex11.drv. 2007-08-14 12:47:15 +02:00
Stefan Dösinger 03ffb73450 wined3d: Optimize texture stage state applying. 2007-08-14 12:29:04 +02:00
Stefan Dösinger 865b82af2c wined3d: Optimize bool and int pixel shader constants. 2007-08-14 12:28:59 +02:00
Stefan Dösinger 4673b1c68e wined3d: Optimize bool and int vs constants. 2007-08-14 12:28:52 +02:00
Stefan Dösinger 274f77d497 wined3d: Do not copy the saved states structure into the primary stateblock. 2007-08-14 12:28:45 +02:00
Stefan Dösinger 92ce028a0b wined3d: Optimize transform state in stateblocks. 2007-08-14 12:28:40 +02:00
Vitaliy Margolen b56afd0cff wined3d: Activate context before applying fbo state. 2007-08-14 12:28:33 +02:00
Roderick Colenbrander 6b177c44e1 wined3d: Pass the proper DeviceName to ChangeDisplaySettings. 2007-08-14 12:28:28 +02:00
Roderick Colenbrander d391c11d43 wined3d: Proper CheckDeviceType / CheckDepthStencilMatch support. 2007-08-13 13:02:46 +02:00
Roderick Colenbrander 1dc0298a55 wined3d: Check the results of SetPixelFormat. 2007-08-13 12:37:34 +02:00
Roderick Colenbrander 4cd5298a57 wined3d: Add more pixelformats to getColorBits. 2007-08-13 12:37:23 +02:00
Roderick Colenbrander 5754726aeb wined3d: Use the proper depth stencil format. 2007-08-13 12:36:55 +02:00
Roderick Colenbrander f6260c5b20 wined3d: Fix WINED3DFMT D16/L16 bugs in the pixelformat table. 2007-08-13 12:36:37 +02:00
Stefan Dösinger 93155ea087 wined3d: Optimize render states in the stateblock. 2007-08-13 11:37:25 +02:00
Stefan Dösinger 28084c5f80 wined3d: Remove primary stateblock fixme. 2007-08-13 11:36:50 +02:00
Stefan Dösinger e7cbb340dc wined3d: Remove stateblock::set.*. 2007-08-13 11:36:43 +02:00
Stefan Dösinger f41ab3be9b wined3d: Remove ugly code from stateblock init. 2007-08-13 11:36:14 +02:00
Stefan Dösinger 55192882f3 wined3d: Remove outdated TODO in D3DDevice::SetTextureStageState. 2007-08-13 11:35:56 +02:00
Hernan Rajchert 6aead911fb wined3d: Fixed error message when glDrawElement fails. 2007-08-13 11:32:07 +02:00
Chris Robinson c8b6b2b1d8 wined3d: Use a safer, more compliant method to parse extension strings. 2007-08-10 12:58:17 +02:00
Roderick Colenbrander 7818cbda4a wined3d: Add better pixelformat selection code for pbuffers. 2007-08-10 12:58:17 +02:00
Francois Gouget a80903e54b wined3d: '0x' is redundant with the '#' format modifier. 2007-08-10 11:56:20 +02:00
Francois Gouget 93b5a0e934 wined3d: Add a '\n' to a Wine trace. 2007-08-10 11:56:03 +02:00
Roderick Colenbrander 4647cbb625 wined3d: Better pixelformat selection code. 2007-08-09 14:11:19 +02:00
Roderick Colenbrander ac3927a73e wined3d: Move over to WGL. 2007-08-08 15:32:01 +02:00
Roderick Colenbrander 58275065a1 wined3d: Prepare pbuffer code for WGL transition. 2007-08-08 15:32:01 +02:00
Roderick Colenbrander 107ff2057d wined3d: Move fake context code over to WGL. 2007-08-08 15:32:01 +02:00
Stefan Dösinger b8dd5839ef wined3d: Store the position_transformed flag in the vdecl. 2007-08-08 15:32:00 +02:00
Stefan Dösinger 06e51c21e1 wined3d: Determine used streams at vdecl creation. 2007-08-08 15:32:00 +02:00
Stefan Dösinger ca0d92f3bc wined3d: Remove link collection from vertexdeclaration.c. 2007-08-08 15:32:00 +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
Chris Robinson ef561429ee wined3d: Use the macro when querying the current display settings. 2007-08-06 14:01:28 +02:00
Chris Robinson c6e6eae08c wined3d: Initialize major and minor when filling GL caps. 2007-08-06 13:59:38 +02:00
Chris Robinson 9a319f2857 wined3d: Properly setup DevModeW before using it. 2007-08-06 13:59:28 +02:00
Stefan Dösinger 38c7e9356e wined3d: Present requires the swapchain's context. 2007-08-06 12:05:50 +02:00
Stefan Dösinger dbd338c018 wined3d: WINED3DSAMP_MAXMIPLEVEL fixes. 2007-08-06 12:05:39 +02:00
Stefan Dösinger 8de07265a6 wined3d: Downgrade an ERR. 2007-08-03 12:30:12 +02:00
H. Verbeet 3ac2271f5c wined3d: Only report 16 bit float declaration types as supported if we support them. 2007-08-02 12:18:42 +02:00
H. Verbeet 82245cb5d7 wined3d: Properly load FLOAT16_2 and FLOAT16_4 vertex data. 2007-08-02 12:18:41 +02:00
H. Verbeet f11ca610ba wined3d: Add definitions and detection for GL_NV_half_float. 2007-08-02 12:18:41 +02:00
H. Verbeet cfb07e7114 wined3d: Set SFLAG_INSYSMEM when WINED3DLOCK_DISCARD is passed to IWineD3DSurfaceImpl_LockRect. 2007-08-02 12:18:41 +02:00
Francois Gouget 5266e57975 Assorted spelling fixes. 2007-07-31 21:37:50 +02:00
Roderick Colenbrander 2c12c17ab6 wined3d: Compile against standard GL headers. 2007-07-31 21:36:56 +02:00
Alexandre Julliard af4b9bb85c wined3d: Fix compiler warning. 2007-07-30 14:14:01 +02:00
Stefan Dösinger 5c905b9e8c wined3d: A more dynamic initialization of the gl pixel formats. 2007-07-30 12:49:59 +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