Commit Graph

4785 Commits

Author SHA1 Message Date
Henri Verbeet fadd192cba wined3d: buffer_get_sysmem() potentially invalidates the current element array buffer binding.
This fixes a regression introduced by commit
2a7a237170.
2010-11-16 13:48:46 +01:00
Henri Verbeet 4dc28005eb wined3d: Remove a redundant flag in IWineD3DSurfaceImpl_SetMem(). 2010-11-16 13:48:42 +01:00
Henri Verbeet 745126b05d wined3d: Properly recreate the sysmem resource location in IWineD3DSurfaceImpl_SetMem().
Otherwise we could end up with surfaces that have SFLAG_INSYSMEM set, but no
actual system memory allocated. This was exposed by
3bbe658ef1.
2010-11-15 15:04:41 +01:00
Henri Verbeet 44b9712cd6 wined3d: Add a trace to IWineD3DSurfaceImpl_SetMem(). 2010-11-15 15:04:36 +01:00
Henri Verbeet 60b5dc04b7 wined3d: Rename the IWineD3DPaletteImpl "Flags" field to "flags". 2010-11-15 15:04:32 +01:00
Henri Verbeet efb185dcd5 wined3d: Rename the wined3d_format "Flags" field to "flags". 2010-11-12 15:43:08 +01:00
Henri Verbeet 027fdb31c2 wined3d: Rename the IWineD3DSurfaceImpl "Flags" field to "flags". 2010-11-12 15:43:07 +01:00
Henri Verbeet a59ee29dec wined3d: Simplify a condition in IWineD3DSurfaceImpl_LoadTexture(). 2010-11-12 15:43:07 +01:00
Henri Verbeet 4bd1f04fbd wined3d: Check for depth/stencil surfaces in general in IWineD3DSurfaceImpl_Unmap().
Instead of just the current one.
2010-11-12 15:43:07 +01:00
Henri Verbeet db013ed213 wined3d: Avoid marking samplers dirty in IWineD3DSurfaceImpl_Unmap().
Resources are explicitly loaded in context_apply_draw_state() when needed, the
resource location management takes care of all of this.
2010-11-12 15:43:07 +01:00
Henri Verbeet 3bbe658ef1 wined3d: Remove some useless code. 2010-11-11 13:11:37 +01:00
Henri Verbeet 78abb8ae07 wined3d: Simply use surface_modify_location() in IWineD3DSurfaceImpl_Map() with WINED3DLOCK_DISCARD.
The call to surface_add_dirty_rect() would have taken care of evicting the
other locations anyway, but we really shouldn't be touching the location flags
directly.
2010-11-11 13:11:34 +01:00
Henri Verbeet d3fd7b247b wined3d: Handle rendertargetlock_mode in surface_load_location(). 2010-11-11 13:11:30 +01:00
Henri Verbeet 1fa19d8e42 wined3d: Take the location into account in context_apply_fbo_state_blit(). 2010-11-11 13:11:26 +01:00
Jaime Rave 6bf3f67c01 wined3d: Added Intel GM45 video card detection. 2010-11-11 13:08:25 +01:00
Henri Verbeet 7a354177b3 wined3d: Don't unregister a window unless the window proc is what we expect it to be.
In particular, if we'd unregister a window when the application replaced our
window proc, but still forwards to us, we'd create a loop when we register
the same window again later.
2010-11-10 12:19:24 +01:00
Henri Verbeet 9a1fddb0fd wined3d: Register a window only once. 2010-11-10 12:19:16 +01:00
Henri Verbeet 4503d0cb4b wined3d: Use a lookup table in select_card_ati_binary(). 2010-11-10 12:18:54 +01:00
Henri Verbeet 3bb40b0776 wined3d: Use lookup tables in select_card_nvidia_binary(). 2010-11-09 14:21:00 +01:00
Henri Verbeet a9da30dc5f wined3d: Use lookup tables in select_card_ati_mesa(). 2010-11-09 14:20:51 +01:00
Henri Verbeet bed0266a8c wined3d: Recognize Evergreen in select_card_ati_mesa(). 2010-11-09 14:20:42 +01:00
Henri Verbeet 50b76b76cb wined3d: Test for "AMD" in the renderer string as well to detect AMD cards.
Specifically, the Gallium r600 driver reports "X.Org" for vendor and a string
of the form "Gallium 0.4 on AMD RV730" for the renderer.
2010-11-08 13:31:09 +01:00
Henri Verbeet 7a64870014 wined3d: Don't use floating point textures without ARB_texture_float.
The floating point formats from ARB_texture_rg are only defined when
ARB_texture_float is also supported. It would have been nice if the formats
table itself was able to express this, but as far as I'm aware this is only an
issue for ARB_texture_rg, so it's probably not worth changing.
2010-11-08 13:30:59 +01:00
Henri Verbeet 7e3985e1fe ddraw: Setup the device window in SetCooperativeLevel(). 2010-11-08 13:30:54 +01:00
Henri Verbeet b898130a11 wined3d: Do not activate the window when restoring the styles.
This is consistent with device_setup_fullscreen_window(), and ddraw actually
has a test for this in ddrawmodes.c. (Although it doesn't actually use
device_setup_fullscreen_window() until the next patch.)
2010-11-08 13:30:46 +01:00
Henri Verbeet 45cee64295 wined3d: Move the fullscreen window setup / restore code to the device. 2010-11-08 13:30:40 +01:00
Henri Verbeet feaf81f60d wined3d: Use SetWindowPos() to make the focus window active. 2010-11-05 17:15:37 +01:00
Henri Verbeet f0b0c1b1dd wined3d: Add support for the INTZ format. 2010-11-05 17:15:36 +01:00
Michael Stefaniuc 1183383a6f wined3d: Fix some checkGLcall() messages. 2010-11-05 17:15:34 +01:00
Michael Stefaniuc 809741d5ae wined3d: Move the checkGLcall() right after the corresponding GL call. 2010-11-05 17:15:34 +01:00
Henri Verbeet 8e059205ba wined3d: Translate drawable coordinates in flush_to_framebuffer_drawpixels(). 2010-11-02 13:17:35 +01:00
Henri Verbeet 3f0d16c5bf wined3d: Do not use "lockedRect" unless the surface is locked in flush_to_framebuffer_drawpixels(). 2010-11-02 13:17:31 +01:00
Henri Verbeet b66478dfbc wined3d: Set an A window proc on non-unicode windows. 2010-11-02 13:17:25 +01:00
Francois Gouget b990617a95 Assorted spelling fixes. 2010-11-02 13:16:57 +01:00
Henri Verbeet e35b6aa1a7 wined3d: Change surface_translate_frontbuffer_coords() to handle all drawable coordinates. 2010-11-01 13:34:43 +01:00
Stefan Dösinger f89fdb4429 wined3d: Don't reapply lighting when vertex shaders are used.
If a vertex shader is used the GL_LIGHTING state is ignored. If the
shader is turned off state_vdecl is called anyway, so it will adjust the
lighting state to match the available fixed function vertex attributes.
2010-11-01 11:43:45 +01:00
Stefan Dösinger 7173a56161 wined3d: Don't change GL_TEXTURE* when using the arb fragment pipeline. 2010-11-01 11:43:39 +01:00
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
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