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
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
30724a6ec2
wined3d: Find the shader constant limit at adapter init time.
2007-07-26 11:47:52 +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
H. Verbeet
d7c7cbf6b6
wined3d: Fix the stretch_rect_fbo() declaration to match the implementation.
2007-07-25 13:02:53 +02:00
H. Verbeet
e652128fdf
wined3d: Pass the correct target to glMultiTexCoord.
2007-07-25 13:02:44 +02:00
Michael Stefaniuc
25707d4c5d
wined3d: Remove a return after a return. Found by Smatch.
2007-07-25 13:02:39 +02:00
Stefan Dösinger
861767f036
wined3d: Create the stateblock in Init3D.
2007-07-24 13:44:10 +02:00
H. Verbeet
fc4c73902a
wined3d: Trace the declaration element type in primitiveDeclarationConvertToStridedData().
2007-07-24 11:25:52 +02:00
H. Verbeet
be8226593c
wined3d: Don't modify the blending parameters in state_blend().
2007-07-24 11:25:45 +02:00
H. Verbeet
34f6d4937f
wined3d: Fix the shader version on some instruction tokens.
2007-07-23 11:59:08 +02:00
H. Verbeet
35aa2ce9f2
wined3d: Correctly handle normalized vertex declaration data types.
2007-07-23 11:59:01 +02:00
H. Verbeet
2785395080
wined3d: glXSwapBuffers needs a GLX context.
2007-07-19 11:57:16 +02:00
Michael Stefaniuc
82a52308ac
wined3d: Remove unreachable code: break after return. Found by Smatch.
2007-07-18 12:57:58 +02:00
H. Verbeet
cb4c9b6208
wined3d: Fix STATE_IS_ACTIVELIGHT.
2007-07-16 14:53:42 +02:00
Stefan Dösinger
9dedfd71e0
wined3d: Store the last active thread.
2007-07-10 13:31:19 +02:00
Stefan Dösinger
1fb168f018
wined3d: Make ActivateContext a bit smaller.
2007-07-10 13:31:10 +02:00
Stefan Dösinger
fdadf26c20
wined3d: Add CTXUSAGE_CLEAR context usage.
2007-07-10 13:30:51 +02:00
Stefan Dösinger
97cd8bab1b
wined3d: Print the fixed and unfixed vertex warning only when needed.
2007-07-10 13:30:42 +02:00
Stefan Dösinger
9ba3f389f6
wined3d: Initialize surfaces at creation.
2007-07-10 13:30:31 +02:00
H. Verbeet
8f3c1ad5ea
wined3d: Advertise VTF support.
2007-07-09 12:16:16 +02:00
H. Verbeet
f31edc3ce7
wined3d: Advertise A32B32G32R32F render target support.
2007-07-09 12:16:10 +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
9928a4c4fd
wined3d: Offscreen rendering from foreign threads.
2007-07-06 19:29:28 +02:00
H. Verbeet
1c14c180b7
wined3d: Implement dsx & dsy shader instructions.
2007-07-03 12:32:52 +02:00
Stefan Dösinger
b462ff0876
wined3d: Create multiple contexts for onscreen render targets.
2007-07-03 12:32:33 +02:00
Stefan Dösinger
13f24c3808
wined3d: Select onscreen contexts based on the thread id.
2007-07-03 12:30:33 +02:00
Stefan Dösinger
a1f83aae8e
wined3d: rsq and rcp use the .w component if no swizzle is given.
2007-07-03 12:29:34 +02:00
H. Verbeet
973496d5e4
wined3d: Cleanup shader_glsl_load_psamplers().
2007-07-02 13:36:26 +02:00
H. Verbeet
6421d45f53
wined3d: In tex_colorop() & tex_alphaop(), only check the mapped stage against GL_LIMITS(textures) if the texture is used.
2007-07-02 13:36:15 +02:00
H. Verbeet
25c673225b
wined3d: Only set GL_SHADER_OPERATION_NV to GL_NONE for supported units.
2007-07-02 13:36:07 +02:00
H. Verbeet
9ed84211c1
wined3d: Only call activate_dimensions() if the texture is used.
2007-07-02 13:35:59 +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
1d4042cee1
wined3d: Implement texldl.
2007-06-28 11:01:15 +02:00
Michael Stefaniuc
0326da9dd5
wined3d: Remove superfluous casts of void pointers to other pointer types.
2007-06-27 12:53:37 +02:00
H. Verbeet
61e1d1379e
wined3d: Cleanup GL extension detection.
2007-06-27 11:44:32 +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
9c44b67d28
wined3d: Add max_vertex_samplers and max_combined_samplers to WineD3D_GL_Info.
2007-06-26 11:57:05 +02:00
H. Verbeet
3ad03206ab
wined3d: Rename max_samplers to max_fragment_samplers.
2007-06-26 11:56:57 +02:00
Stefan Dösinger
a3854be0b3
wined3d: Some point sprite fixes.
2007-06-25 20:04:58 +02:00
Stefan Dösinger
97b1d0692c
wined3d: Skip the start offset to the source array in IWIneD3DVertexShaderImpl_SetLocalConstantsF.
2007-06-25 20:03:34 +02:00
Stefan Dösinger
4f8eb6a32e
wined3d: Clamp material power to 128.0.
2007-06-25 20:03:26 +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
Stefan Dösinger
fb269f9210
wined3d: Depthfill blits are allowed between BeginScene and Endscene.
2007-06-22 13:42:51 +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
H. Verbeet
c60bdca5b0
wined3d: Make use of the texUnitMap in drawStridedSlow as well.
2007-06-21 13:10:40 +02:00
H. Verbeet
2e786e09bb
wined3d: Use texture2D to sample in pshader_glsl_texdp3tex().
2007-06-21 13:10:32 +02:00
Stefan Dösinger
b081cbaf40
wined3d: Emulate tracking of multiple material properties.
2007-06-21 13:09:30 +02:00
Stefan Dösinger
35ee1e9693
wined3d: Unload texture coords for all supported texture stages.
2007-06-21 13:09:17 +02:00
Stefan Dösinger
030b92a2f6
wined3d: Remove the FVF codepath from drawprim.
2007-06-21 13:09:08 +02:00
Marcus Meissner
332d14953b
wined3d: Fixed pointer casting and additions.
2007-06-20 13:10:35 +02:00
H. Verbeet
b16dbf46da
wined3d: Mask texture stage state arguments with WINED3DTA_SELECTMASK when comparing them.
2007-06-18 12:33:56 +02:00
H. Verbeet
9f8083c646
wined3d: Only set GL_SHADER_OPERATION_NV to GL_NONE for mapped stages.
2007-06-18 12:33:55 +02:00
Stefan Dösinger
6e5a5d2736
wined3d: DDraw surfaces are QWORD aligned.
2007-06-14 13:22:52 +02:00
Stefan Dösinger
078523f73e
wined3d: Present does not clear the depth stencil.
2007-06-14 13:22:19 +02:00
Stefan Dösinger
c9b8a79e0b
wined3d: Implement vertical refresh sync.
2007-06-14 13:21:54 +02:00
Stefan Dösinger
43fda1f4f0
wined3d: Only swap system memory resources of front and back buffer if they have the same size.
2007-06-14 13:20:53 +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
H. Verbeet
8311ff32a3
wined3d: Take the texUnitMap into account when loading shader_glsl_load_psamplers().
2007-06-13 11:23:06 +02:00
Phil Costin
2256e06de3
wined3d: Add gamma linerization support for D3DFMT_A4R4G4B4.
2007-06-13 11:22:42 +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
efbdd515f8
wined3d: Find possible fbconfis on dll load time, use them in CheckDepthStencilMatch.
2007-06-11 13:53:38 +02:00
Stefan Dösinger
66930554d1
wined3d: Store the adapter driver and description in the adapter.
2007-06-11 13:52:32 +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
Chris Robinson
11a6646102
wined3d: Add missing table entry value.
2007-06-08 11:59:36 +02:00
H. Verbeet
4e27a7d81c
wined3d: For ps_2_0 and higher, call shader_get_registers_used() in IWineD3DPixelShaderImpl_SetFunction.
2007-06-08 11:57:41 +02:00
H. Verbeet
7a9bb1db28
wined3d: Pass NULL for the stateBlock parameter to shader_get_registers_used() in IWineD3DVertexShaderImpl_SetFunction.
2007-06-08 11:57:33 +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
Francois Gouget
7d55f09e75
wined3d: Fix spelling of the state_separateblend() function.
2007-06-07 19:24:04 +02:00
Phil Costin
622f62d352
wined3d: Enable the loading and reloading of gamma corrected textures.
2007-06-07 13:02:04 +02:00
Phil Costin
e7578dca36
wined3d: Add support for loading gamma corrected textures.
2007-06-07 13:01:49 +02:00
Phil Costin
08ae3d6f67
wined3d: Extend the D3DFMT table to include gamma corrected formats.
2007-06-07 13:01:36 +02:00
Phil Costin
3650e31e85
wined3d: Add GL_EXT_texture_sRGB constants and corresponding CheckDeviceFormat query.
2007-06-07 13:01:23 +02:00
Andrew Talbot
2e16552327
wined3d: Void functions should not return a value.
2007-06-07 13:00:08 +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
Lei Zhang
f00670df61
wined3d: Various spelling fixes.
2007-06-06 13:40:01 +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
H. Verbeet
45b531fcea
wined3d: Make sure the color buffer is not modified by depth_blt().
2007-06-06 12:10:39 +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
Stefan Dösinger
cd7ed61cfa
wined3d: Do not enable GL_APPLE_client_storage for the dummy textures.
2007-06-04 12:52:10 +02:00
Stefan Dösinger
2854c54201
wined3d: Keep GL_TEXTURE_2D enabled when using dummy textures.
2007-05-31 13:08:09 +02:00
Stefan Dösinger
b6e87d47d5
wined3d: Don't mess with nv texture shaders if its not supported.
2007-05-31 13:08:01 +02:00
Kolbjoern Fredheim
cb8a8182d1
wined3d: Implemented converting X1R5G5B5 format to R5G5B5A1 to emulate color-keying.
2007-05-22 12:26:49 +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
H. Verbeet
c3c5724789
wined3d: WINED3DSIO_POW should use the absolute value of the first source register.
2007-05-11 13:24:15 +02:00
Stefan Dösinger
e40af7d3fa
wined3d: Prevent wrong bumpenvmap warnings.
2007-05-11 11:28:20 +02:00
Stefan Dösinger
093261b729
wined3d: Only addref clippers if one exists.
2007-05-11 11:26:40 +02:00
Stefan Dösinger
a90f650fd2
wined3d: Implement DDBLT_DEPTHFILL on the active depth stencil target.
2007-05-11 11:25:41 +02:00
Stefan Dösinger
5c48d504fc
wined3d: Destroying the resource frees all private data.
...
Also adds a test for ddraw, d3d8 and d3d9.
2007-05-11 11:22:31 +02:00
Stefan Dösinger
e7b68eec34
ddraw: Use point filter for blit operations.
...
D3DTEXF_NONE is a special value for mipmapping which disabled
mipmapping, but it is not a valid mag / min filter parameter.
D3DTEXF_POINT is what we want
2007-05-11 11:21:29 +02:00
Francois Gouget
f999a9e433
wined3d: Add a missing '\n' to a trace.
2007-05-11 11:20:34 +02:00
H. Verbeet
d7596086bc
wined3d: Trace the VBO and stream number as well in drawPrimitiveTraceDataLocations.
2007-05-10 12:24:59 +02:00
H. Verbeet
79ca4e022d
wined3d: Load texture coordinates even if no texture is bound to that stage at this time.
2007-05-10 12:24:52 +02:00
H. Verbeet
cde60c0b94
wined3d: Split texture coordinate loading from loadVertexData().
2007-05-10 12:24:39 +02:00
H. Verbeet
5188ab4efa
wined3d: Calling glDisableClientState() from loadVertexData() is redundant.
...
unloadVertexData() will already have done this if necessary.
2007-05-10 12:24:19 +02:00
H. Verbeet
f8714d771a
wined3d: Unload vertex weight data in case of EXT_VERTEX_WEIGHTING as well.
2007-05-10 12:24:07 +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
81504d6a2d
wined3d: Support bump environment mapping using GL_NV_texture_shader.
2007-05-10 11:40:27 +02:00
Stefan Dösinger
4a8b55d456
wined3d: Unload vertex weight data in unloadVertexData.
2007-05-10 11:40:15 +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
28170f0474
wined3d: Implement environment bump mapping with GL_ATI_envmap_bumpmap.
2007-05-09 12:07:32 +02:00
Stefan Dösinger
992834016a
wined3d: Report only D16, D24S8 and D24X8 depth stencil formats as supported.
2007-05-09 12:07:09 +02:00
Stefan Dösinger
f2e30a0a1c
wined3d: Unset the StreamIsUP flag in ProcessVertices.
2007-05-08 18:29:15 +02:00
Stefan Dösinger
7538f8d620
wined3d: Fix front buffer coords for gdi surfaces.
2007-05-08 18:28:48 +02:00
Stefan Dösinger
c9bc4ee760
wined3d: Handle DDPCAPS_ALPHA.
2007-05-08 18:28:38 +02:00
Stefan Dösinger
0fb41a8845
wined3d: Make the blit -> flip work for windowed rendering.
2007-05-08 18:28:08 +02:00
Stefan Dösinger
d93e161b1f
d3d: Move clippers from DDraw to wined3d.
2007-05-08 18:27:44 +02:00
Stefan Dösinger
c87d5352a5
wined3d: Full surface DXTn copy.
...
Height * Pitch is not a valid way to calculate the surface size for
DXTn surfaces. Instead of messing with format specific formulas just
use the size stored in the destination surface.
2007-05-07 21:42:45 +02:00
H. Verbeet
89245248c7
wined3d: Handle the ps_3_0 vPos field.
2007-05-04 13:41:54 +02:00
H. Verbeet
5d00923017
wined3d: Remove some redundant fields from IWineD3DBaseTextureImpl.
2007-05-04 13:41:45 +02:00
H. Verbeet
7b48db196f
d3d: Fix the surface locking rectangle validation.
2007-05-04 13:41:13 +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
adb9b13b81
wined3d: Implement vertex blending using GL_ARB_vertex_blend.
2007-05-03 14:24:46 +02:00
Stefan Dösinger
d913744f1e
d3d: Calculate the size of WINED3DFVF_XYZBx FVFs.
2007-05-03 14:24:16 +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
Jesse Allen
00a84b0cb2
wined3d: Remove fake nvidia card in GetAdapterIdentifier.
2007-04-26 14:59:14 +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
Stefan Dösinger
61d1abb1c1
wined3d: Do not allocate surfaces unless needed.
2007-04-26 14:51:56 +02:00
H. Verbeet
2100b9dce9
wined3d: The second parameter to glTexImage3DEXT isn't a GLenum.
2007-04-24 10:20:39 +02:00
H. Verbeet
950014b41f
wined3d: Improve IWineD3DVolumeImpl_LoadTexture TRACE output.
2007-04-24 10:20:25 +02:00
H. Verbeet
af8e6ed14a
wined3d: Actually use the calculated mipmap surface sizes in IWineD3DDeviceImpl_CreateVolumeTexture.
2007-04-24 10:20:11 +02:00
H. Verbeet
b643ab3620
wined3d: Output pretty GL errors in checkGLcall and vcheckGLcall.
2007-04-24 10:19:51 +02:00
Fabian Bieler
e28630bc32
wined3d: Remove usesFog flag from IWineD3DVertexShaderImpl.
2007-04-23 13:55:45 +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
Stefan Dösinger
fe3ebb3c42
wined3d: Do not upload to the vbo if there's nothing to do.
2007-04-20 13:04:25 +02:00
H. Verbeet
a7638ac5a2
wined3d: Remove GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT from debug_fbostatus().
2007-04-19 11:56:23 +02:00
Bernd Buschinski
aff22d0472
wined3d: Fix drawStridedSlow typo.
2007-04-18 13:13:17 +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
e49c480820
wined3d: Don't try to clear the depth stencil if there is none.
2007-04-17 11:13:03 +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
5fddfd5bbc
wined3d: Use surface_get_gl_buffer where appropriate.
2007-04-17 11:12:43 +02:00
H. Verbeet
1b9a5ba682
wined3d: Add a function to determine if a surface is the front or the backbuffer for a swapchain, and return the corresponding GLenum.
2007-04-17 11:12:34 +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
b154081356
wined3d: Use GL_UNSIGNED_BYTE as data type for WINED3DFMT_A8.
2007-04-17 11:11:55 +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
Stefan Dösinger
8a5b6df483
d3d: Enumerate palettized formats for ddraw.
2007-04-16 12:12:34 +02:00
Fabian Bieler
c4bbed4854
wined3d: Mark vertex shader 3.0 as foggy shaders if they write out the fog coord.
2007-04-13 12:58:12 +02:00
H. Verbeet
a79654d339
wined3d: Fix some swizzles on scalars.
2007-04-13 12:56:06 +02:00
Stefan Dösinger
0d88a38238
wined3d: Dirtify the shader and declaration states if the bound interface is destroyed.
2007-04-12 16:09:12 +02:00
H. Verbeet
2423c9f003
wined3d: Dirtify the sampler used by IWineD3DSurface_PreLoad in IWineD3DSurfaceImpl_BltOverride.
2007-04-10 21:39:43 +02:00
H. Verbeet
8d3c078e6c
wined3d: Disable the scissor test for depth blits.
2007-04-10 21:39:32 +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
6fd820206a
wined3d: Don't report render target formats we don't support as supported.
2007-04-09 12:41:17 +02:00
H. Verbeet
31663b9eca
wined3d: Add some StretchRectFilterCaps.
2007-04-09 12:41:04 +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
75108443ff
wined3d: Add a function to dump WINED3DTEXTUREFILTERTYPE values.
2007-04-09 12:39:35 +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
Felix Nawothnig
e600f7d082
wined3d: Issue an error when the render target is read back without SFLAG_INDRAWABLE being set.
2007-04-09 12:17:17 +02:00
Felix Nawothnig
2d0016c5bc
wined3d: Preload target in ActivateContext() for ORM_BACKBUFFER/ORM_PBUFFER.
2007-04-09 12:17:07 +02:00
Felix Nawothnig
c0782603d0
wined3d: Allow np2 textures to be loaded for SFLAG_INDRAWABLE.
2007-04-09 12:15:56 +02:00
Stefan Dösinger
a9e04dd87f
wined3d: Index buffer data is unsigned.
2007-04-07 10:58:25 +02:00
Stefan Dösinger
0899d85757
wined3d: Set WINED3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD caps3 cap.
2007-04-07 10:58:17 +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
dcd416edbe
wined3d: Add GL_EXT_framebuffer_blit to extension handler.
2007-04-06 12:31:09 +02:00
Fabian Bieler
0ce39d5869
wined3d: Fix GLSL cnd instruction.
...
According to MSDN the cnd instruction should translate:
dst = src0 > 0.5 ? src1 : src2;
2007-04-05 10:55:00 +02:00
Fabian Bieler
fd6395f0c7
wined3d: Fix UpdateSurface for sourceRect != sourceWidth.
2007-04-05 10:54:24 +02:00
Fabian Bieler
7df5deab23
wined3d: Add support for float texture formats back in.
2007-04-04 21:26:36 +02:00
Fabian Bieler
91df230624
wined3d: Fix GLSL cnd instruction for INF and NAN arguments.
2007-04-04 21:26:30 +02:00
Fabian Bieler
2843b0f929
wined3d: Fix GLSL cmp instruction for INF and NAN arguments.
2007-04-04 21:26:23 +02:00
Felix Nawothnig
e3d3d1823d
wined3d: Only issue state_patchsegments FIXME once.
2007-04-04 12:45:57 +02:00
Felix Nawothnig
413b9b2ad2
wined3d: Downgrade some ERRs to FIXMEs.
2007-04-04 12:45:49 +02:00
Francois Gouget
0081b430e1
Assorted spelling and English fixes.
2007-04-03 11:23:12 +02:00
Michael Ploujnikov
56391a3a85
wined3d: Remove DDBLT_WAIT fixme.
2007-04-02 12:05:24 +02:00
Stefan Dösinger
4f5d33311b
wined3d: Use GL_APPLE_client_storage if available.
2007-04-02 11:34:12 +02:00
Stefan Dösinger
f9ee2355d0
wined3d: Add GL_APPLE_client_storage to our extension list.
2007-04-02 11:30:04 +02:00
Felix Nawothnig
c343fb1cdf
wined3d: Make CreateCubeTexture fail when not supported.
2007-04-02 11:28:39 +02:00
Felix Nawothnig
18c9e5d5d0
wined3d: Use GL_TEXTURE_2D for dummy textures.
2007-03-30 11:25:23 +02:00
Felix Nawothnig
6760ccac1c
wined3d: Fix broken ERR() message.
2007-03-30 11:25:02 +02:00
Felix Nawothnig
335f978e91
wined3d: Only disable GL_TEXTURE_CUBE_MAP_ARB if supported.
2007-03-30 11:24:56 +02:00
Fabian Bieler
333de16fb6
wined3d: Implement support for projective textures in ps 2.0 and later.
2007-03-29 21:15:29 +02:00
Jan Zerebecki
09e7791cba
wined3d: Print lastpixel state fixme only once.
2007-03-28 12:43:14 +02:00
Stefan Dösinger
5e405d3b26
wined3d: Disable texture coordinate arrays on the correct unit.
2007-03-27 12:30:50 +02:00
Stefan Dösinger
bee084503b
wined3d: Implement bem shader instruction.
2007-03-27 12:30:38 +02:00
Stefan Dösinger
929116f23c
wined3d: Handle input modifiers in texcrd with arb shaders.
2007-03-27 12:30:26 +02:00
Fabian Bieler
e617c91f22
wined3d: Fix arb texbem instruction for projective textures.
2007-03-23 12:32:10 +01:00
Fabian Bieler
97967d3671
wined3d: Fix glsl texbem instruction for projective textures.
2007-03-23 12:31:35 +01:00
Fabian Bieler
4b3ac837aa
wined3d: Implemented bump map transform for texbem in GLSL with native signed textures.
2007-03-23 12:31:27 +01:00
Fabian Bieler
878e02538e
wined3d: Remove fog coordinate clamping in the vertex shader.
2007-03-23 12:30:58 +01:00
Fabian Bieler
7cedd56d24
wined3d: Implement linear fog with pixel shader.
2007-03-23 12:30:23 +01:00
Stefan Dösinger
e25a16fda5
wined3d: General signed format correction without native signed formats.
...
Implement signed d3d formats for D3DFMT_V8U8 and D3DFMT_Q8W8V8U8 if no
suitable opengl signed format is supported.
2007-03-21 22:51:19 +01:00
Stefan Dösinger
2cdbd9a53d
wined3d: Store the pixel format in the texture.
2007-03-21 22:50:49 +01:00
Stefan Dösinger
ede01abee2
wined3d: Support GL_ATI_envmap_bumpmap for D3DFMT_V8U8.
2007-03-21 22:50:41 +01:00
Stefan Dösinger
e213d7eff5
wined3d: Add GL_ATI_envmap_bumpmap to our gl extension header.
2007-03-21 22:50:30 +01:00
Vitaly Budovski
f7b565e2ca
wined3d: Check for float texture formats correctly.
...
Move the checks for float texture formats into the correct location.
This allows some Direct3D sample applications which check for any of
the float formats together with D3DUSAGE_RENDERTARGET to start.
2007-03-21 12:33:17 +01:00
Phil Costin
1f03896e00
wined3d: Ensure all states affected by a change in render_offscreen are marked dirty in ActivateContext.
2007-03-21 11:55:52 +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
65c447082a
wined3d: Fix client gl unit selection.
...
I forgot that when re-enabling register combiners during the state
management rewrite.
2007-03-19 12:18:07 +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
Erich Hoover
01199072dd
wined3d: Fix LockRect memory location calculation for WINED3DFMT_DXT*.
2007-03-17 19:51:34 +01:00
Stefan Dösinger
4b445124d3
direct3d: Add a fixed function fog test.
2007-03-15 12:14:50 +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
Francois Gouget
e11ca0a7fd
wined3d: Remove space before '\n' in trace.
2007-03-14 12:10:47 +01:00
Stefan Huehner
4d1d01f266
Mark several functions as static.
2007-03-13 13:35:12 +01:00
András Kovács
dac10f0da8
wined3d: Set WINED3DCAPS2_DYNAMICTEXTURES flag.
2007-03-13 12:08:23 +01:00
H. Verbeet
62fff2eab8
wined3d: Remove some redundant code in IWineD3DVertexBufferImpl_FindDecl().
2007-03-13 11:56:18 +01:00
H. Verbeet
6998d0d472
wined3d: Remove a redundant check in handleStreams().
2007-03-13 11:56:10 +01:00
H. Verbeet
05d461aee9
wined3d: Remove some redundant checks in the vertexdeclaration() state handler.
2007-03-13 11:56:02 +01:00
H. Verbeet
30ee071eb9
wined3d: Disable vertex shaders when transformed vertices are used.
2007-03-13 11:55:55 +01:00
H. Verbeet
ee09e8bfd6
wined3d: Remove FVF related fields from IWineD3DVertexDeclaration.
2007-03-13 11:54:24 +01:00
H. Verbeet
b22ca33a85
wined3d: 11 space indent is ugly.
2007-03-13 11:54:08 +01:00
H. Verbeet
23cd4475f6
wined3d: Correct various texture limits checks.
2007-03-13 11:53:28 +01:00
Fabian Bieler
8dae597f24
wined3d: Implemented signed texture formats via NV_TEXTURE_SHADER.
2007-03-13 11:51:56 +01:00
Fabian Bieler
89843f2c27
wined3d: Set wrapmode for cubemags to clamp regardless of the sampler state.
2007-03-13 11:51:35 +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
H. Verbeet
fc5f36f037
wined3d: Fix IWineD3DPixelShader_GetFunction / IWineD3DVertexShader_GetFunction.
2007-03-08 11:58:50 +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
ebe274feed
wined3d: Remove IWineD3DSurface::SetPBufferState.
...
The method is removed because it does not really help with
anything. It should not be exported from wined3d, there is no need for
the other libs to call it. It does not help abstraction and code
simplification in any way because it is very specific and the code
calling it has to know what is happening in the surface to use this
method.
2007-03-07 12:17:33 +01:00
H. Verbeet
2384bdde9d
wined3d: Remove broken software shaders.
2007-03-07 11:52:17 +01:00
H. Verbeet
318fb2987c
wined3d: Fix a typo.
2007-03-07 11:47:54 +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
daeffc897b
wined3d: Use an aux buffer as blitting helper if available.
...
This helps performance a bit because the function does not have to
wait for the 2nd read to finish before returning. Only do that if we
have an aux buffer to mess with for free though.
2007-03-06 22:16:44 +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
ae57138eae
wined3d: WINED3DFMT_U8V8 is signed.
...
Plain OpenGL does not provide any signed pixel formats, so the
unsigned GL_RGB is used for loading perturbation data into pixel
shaders that use texbem. For correct loading, the signedness has to be
considered.
2007-03-06 22:16:12 +01:00
Stefan Dösinger
e0a271ee0c
wined3d: Adjust the rhw transformation for offscreen rendering.
2007-03-06 22:15:57 +01:00
Stefan Dösinger
2cdced8193
wined3d: Adjust the rhw transformation for offscreen rendering.
...
When drawing processed vertices with the fixed function pipeline the
projection matrix is set up to map y values from 0 to height to 1.0;
-1.0(gl and d3d coord systems are flipped). This moves the y axis to
the bottom of the drawing area. When later on the y inversion matrix
is applied for offscreen rendering, the coordinate system will get
flipped out of the viewport.
This patch sets the Y range up upside down when using offscreen
rendering, so the invymat will flip it to the correct position. This
has to happen before the 0.375 pixel correction.
2007-03-05 15:31:36 +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
H. Verbeet
25cd1c4d28
wined3d: gl_FogFragCoord is a scalar.
2007-03-05 12:06:45 +01:00
H. Verbeet
71a0c6e482
wined3d: The texldl instruction takes 3 arguments.
2007-03-05 12:06:40 +01:00
H. Verbeet
3aaabf4e27
wined3d: Properly check the clipplane index against the limit.
2007-03-05 12:06:33 +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
be8e9e17bc
wined3d: Add GL_NV_fence defines and functions.
2007-03-01 11:40:02 +01:00
Stefan Dösinger
424d34f84f
wined3d: Use the source surface's texture for writing the backup.
...
The hwstretch blit code creates a new texture each time it is called
to back up the back buffer and releases it afterwards. It is more
efficient to keep the texture and release it with the surface.
2007-03-01 11:39:52 +01:00
Stefan Dösinger
6ac8d88d5c
wined3d: Prepare only fixed function samplers for blit.
2007-03-01 11:39:17 +01:00
Stefan Dösinger
5afbfd0359
wined3d: Clip planes with vertex shaders.
2007-02-28 21:09:58 +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
38d961a749
wined3d: Leave the fog state handler after disabling fog.
2007-02-28 21:05:14 +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