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