Henri Verbeet
6471004a8c
wined3d: Fix a silly typo.
2010-09-06 16:14:11 +02:00
Henri Verbeet
fa3a72c63a
wined3d: Add a handler for WINED3DRS_SRGBWRITEENABLE to the atifs fragment pipe.
2010-09-03 11:05:29 +02:00
Henri Verbeet
e998fffc8f
wined3d: Do not mark invalid blend matrices dirty.
2010-09-03 11:05:24 +02:00
Henri Verbeet
5a7091b8f7
wined3d: Do not preload buffers while under the GL lock in process_vertices_strided().
2010-09-03 11:05:19 +02:00
Henri Verbeet
bc2db78c3a
wined3d: Explicitly document some more consequences of GL locking policy.
...
The basic rule is that you can't call anything that takes the user32 / gdi32
lock while under the GL (winex11) lock. As a consequence, you can't call
anything like context_acquire() or context_destroy() either.
2010-09-03 11:05:10 +02:00
Henri Verbeet
a8841eb1dd
wined3d: Avoid a forward declaration.
2010-09-02 11:51:12 +02:00
Octavian Voicu
f9cdd5097f
wined3d: Add missing ckey, fx, and pal directdraw caps.
2010-09-01 17:07:38 +02:00
Henri Verbeet
6c4c351791
wined3d: Don't require wined3d object parents to be COM objects.
2010-09-01 14:01:02 +02:00
Henri Verbeet
b84d1ce5f7
wined3d: Clippers don't need parents.
2010-09-01 14:00:56 +02:00
Henri Verbeet
7c675b522a
wined3d: Queries don't need parents.
2010-09-01 12:40:08 +02:00
Henri Verbeet
2ef400901d
wined3d: Devices don't need parents.
2010-09-01 12:40:07 +02:00
Henri Verbeet
3a7f08a56f
wined3d: Rename wined3d_format_desc to wined3d_format.
2010-08-31 14:23:47 +02:00
Henri Verbeet
c568916f9e
wined3d: Implicit depth/stencil surfaces don't have a container.
...
They're owned by the device instead of the swapchain.
2010-08-31 14:23:47 +02:00
Henri Verbeet
4005eb2a18
wined3d: Get rid of WINED3DRECT.
2010-08-31 14:23:47 +02:00
Henri Verbeet
1bf25cfe3f
wined3d: Use debug_surflocation() in surface_load_location().
2010-08-31 14:23:46 +02:00
Henri Verbeet
29371bf964
wined3d: Recognize some more Radeon cards.
2010-08-31 14:23:46 +02:00
Henri Verbeet
0a28300c49
wined3d: Use surface_color_fill() in IWineD3DDeviceImpl_ClearRendertargetView().
2010-08-30 11:26:46 +02:00
Henri Verbeet
c689280beb
wined3d: Use surface_color_fill() in IWineD3DDeviceImpl_ColorFill().
2010-08-30 11:26:45 +02:00
Henri Verbeet
ecc67757ab
wined3d: Introduce surface_color_fill().
...
This is also a first attempt at a more structured interface to blitter
operations.
2010-08-30 11:26:45 +02:00
Henri Verbeet
9363ea55ee
wined3d: Simply use context_apply_draw_buffers() in context_apply_clear_state().
2010-08-30 11:26:45 +02:00
Henri Verbeet
08101957ba
wined3d: Explicitly pass render targets to context_apply_draw_buffers().
...
This avoids the special handling for blits.
2010-08-30 11:26:45 +02:00
Henri Verbeet
3b4d9ae112
wined3d: Simplify wined3d_format_convert_from_float().
2010-08-27 11:58:26 +02:00
Henri Verbeet
38137d7ce2
wined3d: Cleanup some 2-space indentation.
2010-08-27 11:58:13 +02:00
Henri Verbeet
b233e7b301
wined3d: Rename the "format" field in wined3d_format_desc to "id".
2010-08-26 12:41:44 +02:00
Henri Verbeet
42b814c7d1
wined3d: Remove the GetContainer() methods from the public wined3d interface.
...
There's nothing left that uses these.
2010-08-26 12:41:39 +02:00
Henri Verbeet
22428d97e1
wined3d: Don't set a NULL container of type WINED3D_CONTAINER_TEXTURE.
...
Any container type other than WINED3D_CONTAINER_NONE implies a valid pointer
of the specified type. This fixes a regression introduced by
368e5eb87a
.
2010-08-26 12:41:34 +02:00
Henri Verbeet
2af746b96e
wined3d: Check the GLSL info log for all shaders.
2010-08-25 11:57:24 +02:00
Henri Verbeet
87e12b8b6a
wined3d: Introduce a local variable for gl_info in IWineD3DSurfaceImpl_BltOverride().
2010-08-25 11:57:12 +02:00
Henri Verbeet
cc5271d1b7
wined3d: Rename WINED3DFORMAT to wined3d_format_id.
2010-08-24 12:25:01 +02:00
Henri Verbeet
0df144164b
wined3d: Pass floating point colors to IWineD3DDeviceImpl_ColorFill().
2010-08-24 12:24:43 +02:00
Henri Verbeet
50b5955288
wined3d: Use floating point colors in the blitter's color_fill functions.
2010-08-24 12:24:39 +02:00
Henri Verbeet
9956ea7044
wined3d: Convert from floating point to specific surface formats.
...
Instead of from WINED3DFMT_B8G8R8A8_UNORM.
2010-08-24 12:24:33 +02:00
Henri Verbeet
a455a918c1
wined3d: Explicitly pass the draw rect to device_clear_render_targets().
...
For regular clears this is the intersection of the viewport and scissor
rectangles, but color fills shouldn't be affected by those.
2010-08-24 12:24:28 +02:00
Stefan Dösinger
fad5ff478d
wined3d: Fix the wined3d_event_query_supported prototype.
2010-08-23 13:37:03 +02:00
Stefan Dösinger
79666d2b6d
wined3d: Don't return a value from a void function.
2010-08-23 13:37:03 +02:00
Stefan Dösinger
612801d3aa
wined3d: Use float functions in drawprim.c.
2010-08-23 13:37:02 +02:00
Stefan Dösinger
1d710bb4ca
wined3d: The clipplane mask and texcoords are unsigned.
2010-08-23 13:37:02 +02:00
Henri Verbeet
b93a9b37fa
wined3d: Pass a WINED3DCOLORVALUE structure to IWineD3DDeviceImpl_ClearRendertargetView().
...
The structure is nicer to work with than the array.
2010-08-23 12:05:24 +02:00
Henri Verbeet
3fd66bc650
wined3d: Make some lookup tables const.
2010-08-23 12:04:36 +02:00
Henri Verbeet
910d3022c3
wined3d: Do not release a reference we do not have in IWineD3DSurfaceImpl_Flip().
...
This fixes a regression introduced by 368e5eb87a
.
2010-08-20 14:11:10 +02:00
Henri Verbeet
6e09d7bd60
wined3d: Cleanup device_resource_released().
...
In particular, releasing a resource that's in use by the device or the
stateblock is always an internal error in either wined3d or the relevant
wined3d client library.
2010-08-18 09:41:32 +02:00
Henri Verbeet
35b9d3dbd8
wined3d: Release the previous render target only after replacing it in IWineD3DDeviceImpl_SetRenderTarget().
2010-08-18 09:41:26 +02:00
Henri Verbeet
125321d13c
wined3d: Don't print format IDs in decimal.
...
This is especially silly for FOURCC formats.
2010-08-18 09:41:07 +02:00
Henri Verbeet
f06b22a537
wined3d: Add a TRACE to IWineD3DSurfaceImpl_LoadTexture().
2010-08-18 09:39:42 +02:00
Henri Verbeet
368e5eb87a
wined3d: Avoid IWineD3DSurface_GetContainer().
2010-08-17 11:55:32 +02:00
Henri Verbeet
8292c687d8
wined3d: Get rid of the now redundant SFLAG_SWAPCHAIN surface flag.
2010-08-17 11:55:32 +02:00
Henri Verbeet
0b24db5db5
wined3d: Also store the subresource container type.
2010-08-17 11:55:32 +02:00
Henri Verbeet
b0fb388edb
wined3d: A volume's container is always a volume texture.
2010-08-17 11:55:32 +02:00
Henri Verbeet
61db577a4b
wined3d: Remove SetContainer() from the public IWineD3DSurface interface.
2010-08-17 11:55:32 +02:00
Henri Verbeet
89e6a60732
wined3d: Remove SetContainer() from the public IWineD3DVolume interface.
2010-08-17 11:55:32 +02:00
Matteo Bruni
b6637eb89f
wined3d: Remove isInDraw hack from context_setup_target.
...
It is conceptually wrong and actually broken too (as the comment there
said). Just remove the hack now and properly fix any regression that
may come up later by explicitely acquiring the right context where
needed (so, in surface_internal_preload and its callees).
2010-08-16 17:28:58 +02:00
Matteo Bruni
c1450356a7
wined3d: Fix context_apply_clear_state with ORM = backbuffer.
2010-08-16 17:28:58 +02:00
Matteo Bruni
e0528084b1
wined3d: Call set_render_offscreen at the end of context_setup_target.
...
This fixes a regression caused by 20f51c29a9
.
2010-08-16 17:28:57 +02:00
Henri Verbeet
a16cf58494
wined3d: Fix a couple of typos.
2010-08-16 13:47:53 +02:00
Henri Verbeet
b20df2a24c
wined3d: Round up to complete compressed blocks in IWineD3DDeviceImpl_UpdateSurface().
...
This is mostly an issue for surfaces with dimensions smaller than their
format's block width/height.
2010-08-16 13:47:49 +02:00
Henri Verbeet
d494dfb6c0
wined3d: Rename surface_calculate_size() to wined3d_format_calculate_size().
2010-08-16 13:47:42 +02:00
Henri Verbeet
6a9476b609
wined3d: Correctly calculate the resource size for ATI2N surfaces.
2010-08-16 13:47:37 +02:00
Henri Verbeet
3a36013065
wined3d: Print the correct resource location in surface_set_texture_name().
2010-08-16 13:47:33 +02:00
Henri Verbeet
81603f18d8
wined3d: Cleanup IWineD3DBaseSwapChainImpl_GetBackBuffer() a bit.
2010-08-16 13:47:28 +02:00
Henri Verbeet
e1188b0c8e
wined3d: Fix some misspellings of "surface".
2010-08-16 13:47:17 +02:00
Henri Verbeet
5f2fcfdd6b
wined3d: Reattach FBO attachments when any of the corresponding surfaces is unloaded.
2010-08-16 13:47:08 +02:00
Henri Verbeet
37c8632811
wined3d: Make some lookup tables const.
2010-08-04 13:24:24 +02:00
Henri Verbeet
2b88b2d351
wined3d: Only try to acquire a context in surface_cleanup() if there are GL resources to be destroyed.
...
The reason we're in surface_cleanup() might for example be that context
creation failed.
2010-08-04 13:24:21 +02:00
Henri Verbeet
43a86d1e56
wined3d: Cleanup Get/SetDepthStencilSurface().
2010-08-04 13:24:17 +02:00
Henri Verbeet
009cd78fa4
wined3d: Cleanup Get/SetRenderTarget().
2010-08-04 13:24:14 +02:00
Henri Verbeet
6e30387f81
wined3d: Replace color_fill_fbo() with device_clear_render_targets().
2010-08-04 13:24:07 +02:00
Henri Verbeet
6cb38b9c93
wined3d: Allow filtering and blending with WINED3DFMT_ATI2N.
2010-08-03 11:06:51 +02:00
Henri Verbeet
88ff3f406d
wined3d: Always set the get_drawable_size() surface function.
2010-08-03 11:06:47 +02:00
Henri Verbeet
b2e1e1fd71
wined3d: Pass the color as floating point values to device_clear_render_targets().
2010-08-03 11:06:42 +02:00
Henri Verbeet
6e68dd52c4
wined3d: Use the correct divider for 15-bit depth formats in IWineD3DSurfaceImpl_BltZ().
2010-08-03 11:06:20 +02:00
Stefan Dösinger
515eb3d7c4
wined3d: MSVC fixes in state.c.
2010-08-02 12:55:23 +02:00
Stefan Dösinger
4431f6c11d
wined3d: Replace pow with powf in surface_base.c.
2010-08-02 12:55:23 +02:00
Stefan Dösinger
4d45a791b6
wined3d: Fix another DWORD to WORD conversion warning.
2010-08-02 12:55:23 +02:00
Stefan Dösinger
fc5eeebe1a
wined3d: Add double to float conversion casts in device.c.
2010-08-02 12:55:22 +02:00
Stefan Dösinger
8db119b700
wined3d: Use the correct type in device_unit_free_for_vs.
2010-07-30 11:41:59 +02:00
Stefan Dösinger
723d87c280
wined3d: Make glClearColor parameters floats.
2010-07-30 11:41:44 +02:00
Stefan Dösinger
51cd12f35a
wined3d: The flag parameter in shader_hw_sample is a WORD.
2010-07-30 11:41:28 +02:00
Stefan Dösinger
728dd55f62
wined3d: The ARB loop unroller's iteration is unsigned.
2010-07-30 11:41:03 +02:00
Henri Verbeet
a99bf6c017
wined3d: Add support for ARB_texture_compression_rgtc.
2010-07-30 11:36:03 +02:00
Henri Verbeet
237f39377f
wined3d: Move the draw buffer array to the context.
2010-07-30 11:36:03 +02:00
Henri Verbeet
3ad82a82bb
wined3d: The stateblock doesn't have a parent.
2010-07-30 11:36:03 +02:00
Henri Verbeet
4936e71828
wined3d: Clamp vertex shader outputs.
...
To avoid having to interpolate infinities over fragments.
2010-07-29 17:33:35 +02:00
Henri Verbeet
2114a36936
wined3d: Unify vertex shader output handling between shader models.
2010-07-29 17:33:35 +02:00
Stefan Dösinger
cc8a45321f
wined3d: Add casts for int to float conversions.
2010-07-29 17:33:34 +02:00
Stefan Dösinger
6a87681b11
wined3d: Fix an msvc anachronism warning.
2010-07-29 17:33:34 +02:00
Stefan Dösinger
81b03d8891
wined3d: Use a int for the mantissa in float_24_to_32.
2010-07-29 17:33:34 +02:00
Stefan Dösinger
b25f22e456
wined3d: Use powf instead of pow.
2010-07-29 17:33:34 +02:00
Henri Verbeet
41346a1dae
wined3d: Setting render target 0 to NULL in an application error.
2010-07-28 12:22:55 +02:00
Henri Verbeet
ea2bb2a904
wined3d: Invalid NP2 fixup info is an internal error.
2010-07-28 12:22:52 +02:00
Henri Verbeet
0d25da0c0d
wined3d: Properly take both input and output masks into account in handle_ps3_input().
2010-07-28 12:22:50 +02:00
Henri Verbeet
ce39714228
wined3d: Check for unread registers in a more logical way in handle_ps3_input().
...
~0U always >= (in_count + 2).
2010-07-28 12:22:40 +02:00
Matteo Bruni
20f51c29a9
wined3d: Setup target if offscreen rendering setting changed.
2010-07-26 18:38:33 +02:00
Henri Verbeet
3e37b27d37
wined3d: Cleanup Get/SetRenderState traces a bit.
2010-07-26 18:38:31 +02:00
Henri Verbeet
6874743e78
wined3d: Add a missing return statement to surface_prepare_texture().
...
Calling surface_prepare_texture_internal() twice on the same surface is
harmless, but unnecessary.
2010-07-26 18:38:31 +02:00
Henri Verbeet
0bf68b846a
wined3d: Merge strect_rect_fbo() and surface_load_srgb_fbo().
2010-07-26 18:38:31 +02:00
Henri Verbeet
943fb2fb57
wined3d: Do RGB <=> sRGB transfers using FBO blits.
...
Concept based on a patch by Stefan.
2010-07-26 18:38:31 +02:00
Henri Verbeet
2f028f0340
wined3d: Avoid loading the destination surface in stretch_rect_fbo() if it will be completely overwritten.
2010-07-23 11:46:55 +02:00
Henri Verbeet
d374d85055
wined3d: Clear all render targets in an MRT setup.
2010-07-23 11:46:47 +02:00
Stefan Dösinger
068915a4f1
wined3d: Check the writemask before activating the oC0 optimization.
...
The comment above the code correctly mentions that this optimization
does not work if oC0 is written partially, but the code doesn't
actually check for this condition.
2010-07-22 10:22:46 +02:00
Stefan Dösinger
6b794cbd64
wined3d: Only perform sRGB write correction on formats that advertise it.
2010-07-22 10:22:26 +02:00