Commit Graph

4648 Commits

Author SHA1 Message Date
Stefan Dösinger 5082c57e77 wined3d: Don't pass the texture stages to basetexture_apply_state_changes. 2010-11-01 11:43:35 +01:00
Henri Verbeet 27bf4c3747 wined3d: Remove some redundant state save/restore code from flush_to_framebuffer_drawpixels(). 2010-10-29 14:33:57 +02:00
Henri Verbeet 7414ebc975 wined3d: Don't flip the coordinate system in set_blit_dimension(). 2010-10-29 14:33:57 +02:00
Henri Verbeet 1e301027dc wined3d: Only complain about unsupported filtering if we have a reason to. 2010-10-29 14:33:56 +02:00
Henri Verbeet e832b57a15 wined3d: Move loop state to wined3d_shader_context. 2010-10-29 14:33:56 +02:00
Henri Verbeet 8a4a76f9a7 wined3d: Move "parse_state" to wined3d_shader_context. 2010-10-29 14:33:56 +02:00
Henri Verbeet f216dba1e3 wined3d: Access reg_maps though ins->ctx in get_loop_control_const(). 2010-10-28 18:18:12 +02:00
Henri Verbeet 5b36e29298 wined3d: Access reg_maps though ins->ctx in get_bool_const(). 2010-10-28 18:18:12 +02:00
Henri Verbeet ac2805e5b3 wined3d: Access reg_maps though ins->ctx in shader_hw_mov(). 2010-10-28 18:18:12 +02:00
Henri Verbeet 6c5caf7a8b wined3d: Access reg_maps though ins->ctx in shader_arb_get_register_name(). 2010-10-28 18:18:11 +02:00
Henri Verbeet 3a41bbdd71 wined3d: Access reg_maps though ins->ctx in shader_glsl_get_register_name().
This is all part of the ongoing work to make the shader backend interface less
dependent on wined3d internals.
2010-10-28 18:18:11 +02:00
Henri Verbeet 5e24ccfd0c wined3d: Read transform flags from the compile args in pshader_hw_texm3x3spec(). 2010-10-27 12:11:49 +02:00
Henri Verbeet 8f5bb62769 wined3d: Read transform flags from the compile args in pshader_hw_texm3x3vspec(). 2010-10-27 12:11:45 +02:00
Henri Verbeet f624d8f7b6 wined3d: Read transform flags from the compile args in pshader_hw_texm3x3tex(). 2010-10-26 11:58:34 +02:00
Henri Verbeet db156977dd wined3d: Read transform flags from the compile args in pshader_hw_texm3x2tex().
Instead of directly from the stateblock. Note that the GLSL backend doesn't
take these flags into account at all. That's probably a bug in the GLSL
backend, but needs tests.
2010-10-26 11:58:31 +02:00
Henri Verbeet 8c36e4ce1d wined3d: Explicitly pass parameters to shader_arb_ps_local_constants(). 2010-10-26 11:58:23 +02:00
Henri Verbeet 5afb593cb2 wined3d: Explicitly pass parameters to shader_arb_vs_local_constants(). 2010-10-26 11:58:19 +02:00
Henri Verbeet 1b2f9d29d7 wined3d: Get rid of the posFixup field from the device. 2010-10-26 11:58:12 +02:00
Henri Verbeet 5ef7a8c242 wined3d: Explicitly pass parameters to shader_load_np2fixup_constants(). 2010-10-25 14:29:37 +02:00
Henri Verbeet 6dd9109358 wined3d: Pass a sub-resource index instead of a face + miplevel to cube texture methods. 2010-10-25 14:29:31 +02:00
Henri Verbeet f0a0714ecd wined3d: Pass a sub-resource index instead of a miplevel to 2D texture methods. 2010-10-25 14:29:21 +02:00
Henri Verbeet 7f8ea7fffc wined3d: Pass a sub-resource index instead of a miplevel to volume texture methods.
For volume textures this is mostly just a conceptual change, it'll only make a
difference for texture arrays and cube textures.
2010-10-21 16:15:38 +02:00
Henri Verbeet 2b58f80c27 wined3d: Use surface_blt_to_drawable() in IWineD3DSurfaceImpl_BltOverride(). 2010-10-21 16:15:31 +02:00
Henri Verbeet 574169174e wined3d: Check if we can do the blit before messing with surface flags in IWineD3DSurfaceImpl_BltOverride().
As an added benefit blit_supported() will now get the rectangles in the
correct coordinate system.
2010-10-21 16:15:25 +02:00
Henri Verbeet b0c8b4dd95 wined3d: Flip destination coordinates when blitting to an offscreen target in arbfp_blit_surface(). 2010-10-21 16:15:20 +02:00
Henri Verbeet d508a855c1 wined3d: Recognize the SM4 sqrt opcode. 2010-10-20 18:37:07 +02:00
Henri Verbeet 58ecf706e2 wined3d: Handle WINED3DFMT_R10G10B10A2_UNORM in getColorBits(). 2010-10-20 18:37:07 +02:00
Henri Verbeet 53f2765445 wined3d: Remove a FIXME in context_apply_blit_state().
There are some legitimate cases for this codepath, for example when blitting
to a render target with fixups or a color key.
2010-10-19 13:50:17 +02:00
Henri Verbeet 1237e8065e wined3d: Properly flip in surface_blt_to_drawable().
We want to flip the coordinate system, not just the rectangle.
2010-10-19 13:50:13 +02:00
Henri Verbeet 8a96a8cc1f wined3d: Always pass a valid rectangle to surface_get_blt_info(). 2010-10-19 13:50:09 +02:00
Henri Verbeet ca381b610c wined3d: Allow FBO blits again between surfaces with fixups if they have the same format.
For some reason f1ca14cb5b disabled this.
2010-10-19 13:50:01 +02:00
Henri Verbeet 70f4e66f84 wined3d: IWineD3DBuffer_Unmap() can't fail. 2010-10-15 16:19:54 +02:00
Henri Verbeet 1fa3365832 wined3d: Flip destination coordinates when blitting to an offscreen target in BltOverride(). 2010-10-15 16:19:50 +02:00
Henri Verbeet 95469309d6 wined3d: Consistently use Map/Unmap for mapping resources. 2010-10-14 17:54:52 +02:00
Henri Verbeet 4eb8fd7960 wined3d: Recognize the SM4 sample_d opcode. 2010-10-14 17:54:52 +02:00
Henri Verbeet e54d9afbc3 wined3d: Recognize the SM4 ABS and NEG source modifiers. 2010-10-13 13:00:39 +02:00
Henri Verbeet 50f6fbadb0 wined3d: Recognize the SM4 ld opcode. 2010-10-13 13:00:30 +02:00
Henri Verbeet 7c6658f970 wined3d: Recognize the SM4 ieq opcode. 2010-10-13 13:00:26 +02:00
Henri Verbeet a9e3058426 wined3d: Recognize the SM4 ftoi opcode. 2010-10-13 13:00:22 +02:00
Henri Verbeet b53d346d35 wined3d: Recognize the SM4 div opcode. 2010-10-13 13:00:17 +02:00
Henri Verbeet 5eb7a44a2e wined3d: Skip SM4 instruction modifiers. 2010-10-12 17:36:40 +02:00
Henri Verbeet 0e4e196979 wined3d: Skip SM4 source register modifiers. 2010-10-12 17:36:36 +02:00
Henri Verbeet 916167e93a wined3d: Recognize the SM4 resource register type. 2010-10-12 17:36:30 +02:00
Henri Verbeet 6cbf1dd4b5 wined3d: Recognize the SM4 sampler register type. 2010-10-12 17:36:27 +02:00
Henri Verbeet 3c45bba11e wined3d: Add traces to IWineD3DDeviceImpl_AcquireFocusWindow() / IWineD3DDeviceImpl_ReleaseFocusWindow(). 2010-10-11 17:11:34 +02:00
Henri Verbeet ff9c2fcdb2 wined3d: Recognize the SM4 utof opcode. 2010-10-11 17:11:28 +02:00
Henri Verbeet 18d7a73af8 wined3d: Recognize the SM4 sample_l opcode. 2010-10-11 17:11:28 +02:00
Henri Verbeet 407ed1b875 wined3d: Recognize the SM4 sample opcode. 2010-10-11 17:11:28 +02:00
Henri Verbeet b2f520b5f0 wined3d: Recognize the SM4 itof opcode. 2010-10-11 17:11:28 +02:00
Henri Verbeet 1fe1676ae9 wined3d: SM4 immediate constants are typeless. 2010-10-08 15:26:42 +02:00
Henri Verbeet 3e45fe7488 wined3d: The SM4 sincos opcode has two destination arguments. 2010-10-08 15:26:37 +02:00
Henri Verbeet d369136a96 wined3d: Recognize the SM4 imul opcode. 2010-10-08 15:26:33 +02:00
Henri Verbeet 0677a67c7b wined3d: Recognize the SM4 NULL register type. 2010-10-08 15:26:28 +02:00
Henri Verbeet 7c7205d90a wined3d: Allow multiple shader instruction destination arguments. 2010-10-08 15:26:19 +02:00
Henri Verbeet 512e6cec2c wined3d: Recognize the SM4 movc opcode. 2010-10-07 15:58:10 +02:00
Henri Verbeet f78542c34c wined3d: Recognize the SM4 mad opcode. 2010-10-07 15:58:10 +02:00
Henri Verbeet 2eb5df3039 wined3d: Recognize the SM4 frc opcode. 2010-10-07 15:58:10 +02:00
Henri Verbeet 1330f844f8 wined3d: Recognize the SM4 and opcode. 2010-10-07 15:58:09 +02:00
Henri Verbeet 98a2973e95 wined3d: Recognize the SM4 loop opcode. 2010-10-07 15:58:09 +02:00
Henri Verbeet a59d0f45c1 wined3d: Acquire / release the focus window during reset. 2010-10-06 14:42:08 +02:00
Henri Verbeet e1b96eb347 wined3d: Set the depth/stencil buffer to NULL before releasing it.
To prevent device_resource_released() from detecting it as still in use.
2010-10-05 15:16:56 +02:00
Henri Verbeet 5fa84c56c3 ddraw: Remove another hack.
It breaks actual front buffer / back buffer flips.
2010-10-05 15:16:52 +02:00
Matteo Bruni 20010235ad wined3d: Keep track of texture transformation states in compiled pixel shaders. 2010-10-04 15:00:08 +02:00
Henri Verbeet 5fd1b5c023 wined3d: Also pass the destination state directly to wined3d_state_record_lights(). 2010-10-01 13:46:47 +02:00
Henri Verbeet 545dc012cf wined3d: Pass a wined3d_state structure to nvts_activate_dimensions(). 2010-10-01 13:46:43 +02:00
Henri Verbeet 4dcd56f43b wined3d: Pass a wined3d_state structure to remove_vbos(). 2010-10-01 13:46:39 +02:00
Henri Verbeet cf9d9e3204 wined3d: Pass gl_info and state parameters directly to drawStridedInstanced(). 2010-10-01 13:46:36 +02:00
Alexandre Julliard 7afdf5d920 Make some variable declarations extern. 2010-10-01 13:42:22 +02:00
Henri Verbeet 132158cbf5 wined3d: Pass gl_info and state parameters directly to drawStridedSlowVs(). 2010-09-30 17:51:17 +02:00
Henri Verbeet f065a5e54b wined3d: Remove the useless device parameter to drawStridedFast(). 2010-09-30 17:51:16 +02:00
Henri Verbeet c2363f750b wined3d: Pass a wined3d_gl_info structure to send_attribute(). 2010-09-30 17:51:16 +02:00
Henri Verbeet 5097623dcf wined3d: Pass a wined3d_state structure to device_preload_texture(). 2010-09-30 17:51:16 +02:00
Henri Verbeet 5029331f55 wined3d: Pass a wined3d_state structure to find_arb_ps_compile_args(). 2010-09-29 12:22:43 +02:00
Henri Verbeet e5ef8057ea wined3d: Pass a wined3d_state structure to find_arb_vs_compile_args(). 2010-09-29 12:22:41 +02:00
Henri Verbeet e12f5ff08a wined3d: Pass a wined3d_state structure to find_ps_compile_args(). 2010-09-29 12:22:39 +02:00
Henri Verbeet 8d5a25bbec wined3d: Pass a wined3d_state structure to find_vs_compile_args(). 2010-09-29 12:22:36 +02:00
Henri Verbeet a7ded9a67d wined3d: Pass a wined3d_state structure to use_ps(). 2010-09-28 17:33:17 +02:00
Henri Verbeet 9224751a13 wined3d: Pass a wined3d_state structure to use_vs(). 2010-09-28 17:33:17 +02:00
Henri Verbeet e59fdb83a6 wined3d: Simply refuse to create shaders if they're disabled.
The functionality is a bit questionable in the first place, but there is some
use in the part that limits the maximum reported shader versions.
2010-09-28 17:33:16 +02:00
Henri Verbeet d6d345fa8a wined3d: Remove IWineD3DStateBlock::InitStartupStateBlock() from the public wined3d interface. 2010-09-28 17:33:16 +02:00
Henri Verbeet 39886193fd wined3d: Set initial stateblock state directly on a wined3d_state structure. 2010-09-27 14:10:45 +02:00
Henri Verbeet b9f4fdcc51 wined3d: Capture stateblock state from a wined3d_state structure. 2010-09-27 14:10:45 +02:00
Henri Verbeet 9f75633a4f wined3d: Pass a wined3d_state structure to apply_lights(). 2010-09-27 14:10:45 +02:00
Henri Verbeet 8b54093bbc wined3d: Pass a wined3d_state structure to record_lights(). 2010-09-27 14:10:45 +02:00
Henri Verbeet 5013ec83de wined3d: Consistently use the same stateblock in state_colormat().
These should refer to the same stateblock when we're drawing, but it's still
ugly.
2010-09-24 11:34:15 +02:00
Henri Verbeet 7dd4174e05 wined3d: Pass a wined3d_state structure to ffp_clip_emul(). 2010-09-24 11:34:15 +02:00
Henri Verbeet 23e286613f wined3d: Directly pass the texture to texture_activate_dimensions(). 2010-09-24 11:34:14 +02:00
Henri Verbeet 67b7a573b9 wined3d: Pass a wined3d_state structure to set_tex_op(). 2010-09-24 11:34:14 +02:00
Henri Verbeet 578df29b9f wined3d: Pass a wined3d_state structure to set_tex_op_nvrc(). 2010-09-23 12:06:31 +02:00
Henri Verbeet 478a0aae38 wined3d: Pass a wined3d_state structure to is_invalid_op().
Instead of an entire device.
2010-09-23 12:06:27 +02:00
Lauri Kenttä 0d27b6ca70 wined3d: Add check for Intel GM965/GL960 with Mesa driver. 2010-09-22 19:56:52 +02:00
Henri Verbeet f870cf07e8 wined3d: Move clip status to wined3d_state. 2010-09-22 12:41:22 +02:00
Henri Verbeet 9ce3c61a41 wined3d: Move clip plane state to wined3d_state. 2010-09-22 12:41:18 +02:00
Henri Verbeet 4546a13d98 wined3d: Move light state to wined3d_state. 2010-09-22 12:41:13 +02:00
Henri Verbeet f4df53c41a wined3d: Move the primitive type to wined3d_state. 2010-09-22 12:41:06 +02:00
Alexandre Julliard 97c4ab23ab wined3d: Reduce the size of a huge function that takes ages to compile. 2010-09-21 20:16:15 +02:00
Henri Verbeet 98a91e84bc wined3d: Move base vertex state to wined3d_state. 2010-09-21 14:17:07 +02:00
Henri Verbeet 902630efb5 wined3d: Move index buffer state to wined3d_state. 2010-09-21 14:17:03 +02:00
Henri Verbeet 153d8d43aa wined3d: Move stream state to wined3d_state. 2010-09-21 14:16:58 +02:00
Lauri Kenttä 602486bdb4 wined3d: Use the same card selection for both Intel Mesa and binary drivers. 2010-09-20 15:12:32 +02:00
Henri Verbeet b37ce45d6c wined3d: Move pixel shader constants to wined3d_state. 2010-09-20 13:48:13 +02:00
Henri Verbeet 33dfb9539c wined3d: Move the pixel shader to wined3d_state. 2010-09-20 13:48:13 +02:00
Henri Verbeet 8a148cc7c5 wined3d: Move vertex shader constants to wined3d_state. 2010-09-20 13:48:12 +02:00
Henri Verbeet dd4aea36c9 wined3d: Move the vertex shader to wined3d_state. 2010-09-20 13:48:12 +02:00
Roderick Colenbrander d73370313e wined3d: Add Radeon HD3200 to gpu table. 2010-09-20 13:48:12 +02:00
Alexandre Julliard 81b8ee863e makefiles: Add a standard header for all makefiles to replace the common variable initializations. 2010-09-19 12:36:48 +02:00
Henri Verbeet e31ea51bab wined3d: Move the vertex declaration to wined3d_state. 2010-09-18 13:05:54 +02:00
Henri Verbeet d728d5f0ec wined3d: Move texture bindings to wined3d_state. 2010-09-18 13:05:49 +02:00
Henri Verbeet 5a3a4ac77a wined3d: Remove IWineD3DBaseTexture::GetTextureDimensions() from the public wined3d interface. 2010-09-18 13:05:44 +02:00
Henri Verbeet 2e119ecd28 wined3d: Move the texture's target field to the base texture struct. 2010-09-18 13:05:36 +02:00
Ričardas Barkauskas dc1356484c wined3d: Add NVDB support. 2010-09-16 10:12:33 -05:00
Henri Verbeet 8fdfc736bf wined3d: Move sampler states to wined3d_state. 2010-09-16 10:12:24 -05:00
Henri Verbeet 5b3c1a2082 wined3d: Move texture states to wined3d_state. 2010-09-16 10:12:17 -05:00
Henri Verbeet 597da9907a wined3d: Move transforms to wined3d_state. 2010-09-16 10:12:06 -05:00
Henri Verbeet 5f6ced2767 wined3d: Move the material to wined3d_state. 2010-09-16 10:11:57 -05:00
Henri Verbeet 16d9c91b97 wined3d: Move the viewport to wined3d_state. 2010-09-15 10:33:26 -05:00
Henri Verbeet 937eb7e600 wined3d: Move the scissor rect to wined3d_state. 2010-09-15 10:33:20 -05:00
Henri Verbeet 1ef4f075c1 wined3d: Introduce a separate structure for stateblock states.
We'd like to not pass an entire stateblock to things like state handlers and
the shader backend, because those then use the stateblock to get to the
device and through there to all the rest of wined3d. This would also be
required for serialization of wined3d draw and state change commands into a
single GL context. Resource updates would be explicitly excluded from
serialization.
2010-09-15 10:33:14 -05:00
Rico Schüller e6d52c0c8b wined3d: Add argument check for Type to Get/SetTextureStageState(). 2010-09-14 13:32:00 -05:00
Henri Verbeet 6ce848bee4 wined3d: Introduce a structure for stream state. 2010-09-14 11:43:54 -05:00
Henri Verbeet 0b15963b4e wined3d: Get rid of redundant comparisons against FALSE. 2010-09-14 11:43:44 -05:00
Henri Verbeet b68d257710 wined3d: Get rid of redundant comparisons against NULL / 0. 2010-09-14 09:43:33 -05:00
Henri Verbeet fd7c1cbf05 wined3d: IWineD3DBuffer_GetDesc() should never fail. 2010-09-14 09:43:22 -05:00
Jesse Litton ad917d366c wined3d: Recognize GeForce GTX 465. 2010-09-14 09:43:15 -05:00
Roderick Colenbrander 4baf7a52f0 wined3d: Move video memory override to init_driver_info. 2010-09-13 13:28:28 -05:00
Roderick Colenbrander 192e0dc433 wined3d: Store amount of video memory in gpu_description_table. 2010-09-13 13:28:15 -05:00
Roderick Colenbrander 27fb5e2d74 wined3d: Add legacy ATI cards. 2010-09-13 13:27:21 -05:00
Mikko Rasa b46183a2b4 wined3d: Recognize GeForce GTX 460. 2010-09-09 18:03:18 +02:00
Roderick Colenbrander a352ad2097 wined3d: Add Intel gpu and driver information. 2010-09-09 13:20:37 +02:00
Roderick Colenbrander d79bbdca51 wined3d: Add AMD NT6x drivers. 2010-09-09 13:20:36 +02:00
Roderick Colenbrander ae5d8698f9 wined3d: Add Nvidia NT6x driver information. 2010-09-09 13:20:36 +02:00
Joris Huizer 2fd50cb4b8 wined3d: Fix typo in checkGLcall. 2010-09-09 12:45:30 +02:00
Henri Verbeet 955858e97d wined3d: IWineD3DVolume_GetDesc() should never fail. 2010-09-08 13:31:49 +02:00
Henri Verbeet 53183b4cf3 wined3d: IWineD3DSurface_GetDesc() should never fail. 2010-09-08 13:31:43 +02:00
Henri Verbeet f49028d91c wined3d: GL_DRAW_FRAMEBUFFER depends on either ARB_framebuffer_object or EXT_framebuffer_blit. 2010-09-08 13:31:37 +02:00
Roderick Colenbrander d7472026a0 wined3d: Return generic info for unhandled devices/drivers. 2010-09-08 13:26:04 +02:00
Henri Verbeet 07b5c4becf wined3d: Getting the current pixel shader should never fail. 2010-09-07 11:23:31 +02:00
Henri Verbeet 0c54dfe7ba wined3d: Getting the current vertex shader should never fail. 2010-09-07 11:23:27 +02:00
Henri Verbeet 992cb88f71 wined3d: Rename "pDesc" to "desc". 2010-09-07 11:23:20 +02:00
Henri Verbeet 8a8ad1ccd8 wined3d: Avoid a memcpy() in IWineD3DImpl_FillGLCaps().
And associated stack buffer.
2010-09-07 11:18:23 +02:00
Roderick Colenbrander 878dcc6d93 wined3d: Separate driver info from GPU info. 2010-09-06 20:30:25 +02:00
Henri Verbeet 8fbf23f0cc wined3d: Don't overwrite the offscreen depth/stencil surface with undefined data in surface_load_ds_location(). 2010-09-06 16:14:26 +02:00
Henri Verbeet 952dfe30be wined3d: Translate before scaling for rhw as well in transform_projection(). 2010-09-06 16:14:22 +02:00
Henri Verbeet 8e0cb60b09 wined3d: Do not call device_switch_onscreen_ds() while under the GL lock. 2010-09-06 16:14:18 +02:00
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