Henri Verbeet
c1a7323fac
wined3d: Avoid some redundant state_pscale() calls.
2013-08-19 12:53:21 +02:00
Henri Verbeet
ad147d638c
wined3d: Just update a range of constants in walk_constant_heap().
...
The call overhead from separate calls typically ends up being more expensive
than just updating a few more constants.
2013-08-16 11:55:24 +02:00
Henri Verbeet
37d1e8b79c
wined3d: Try to avoid redundant constant updates.
...
This gives a minor performance improvement. For example, in 3DMark03 Game Test
1 this gives about a 4% improvement, in the Counter Strike: Source stress test
it's about 1%. (NVIDIA GF9600M, Intel T9550, 1024x768).
2013-08-16 11:55:24 +02:00
Henri Verbeet
c1af405054
wined3d: Only set fragment pipe uniforms if they're needed by the shader.
...
In principle the GL driver also checks the location, but it turns out to be
slightly faster to do it ourselves.
2013-08-16 11:55:24 +02:00
Henri Verbeet
cbaa17d3cf
wined3d: Assume the buffer has a buffer object in buffer_add_dirty_area().
2013-08-15 16:24:09 +02:00
Henri Verbeet
4eb39ec5f4
wined3d: Make buffer_add_dirty_area() never fail.
2013-08-15 16:24:07 +02:00
Henri Verbeet
5e64fd7049
wined3d: Don't bother downloading buffer contents on destruction.
2013-08-15 16:24:04 +02:00
Stefan Dösinger
ba61730daa
wined3d: Avoid calculating 1 / (fog_end - fog_start) in the shader.
2013-08-01 20:43:42 +02:00
Rico Schüller
55c190d396
wined3d: Fix typo.
2013-07-24 11:12:45 -05:00
Matteo Bruni
42cfbb825c
wined3d: Add a missing destroy_dummy_textures() call.
2013-07-24 11:09:39 -05:00
Matteo Bruni
e2cf98eb76
wined3d: Implement special fog behavior for orthogonal projection matrices.
2013-07-24 11:09:31 -05:00
Matteo Bruni
c9458882a0
wined3d: Fix handling of cnd instruction with coissue flag.
2013-06-26 18:45:37 +02:00
Stefan Dösinger
248f4b7415
wined3d: Fix the TMP_COLOR optimization with custom fog.
2013-06-21 17:35:07 +02:00
Matteo Bruni
5649746b60
wined3d: Fix NP2 surface repacking in surface_download_data.
2013-06-20 22:14:35 +02:00
Stefan Dösinger
22319c7f9e
wined3d: Work around broken FFP fog with ARB shaders.
2013-06-19 20:09:53 +02:00
Stefan Dösinger
b648b74191
wined3d: Pass fogstart==fogend to GL in fog table mode.
2013-06-19 20:09:53 +02:00
Henri Verbeet
4272d92f93
wined3d: Avoid the position_float4() fixup if the vertex pipe can handle pre-transformed vertices itself.
2013-06-17 13:34:40 +02:00
Karol Herbst
627aebf774
wined3d: Add Nvidia GeForce GTX 770M.
2013-06-14 13:51:37 +02:00
Maxime Lombard
214d6ed0ba
wined3d: Add Nvidia GeForce GTX 670MX.
2013-06-14 13:51:35 +02:00
Henri Verbeet
ffc9f535eb
wined3d: Handle pre-transformed vertices in the GLSL vertex pipe.
...
This also avoids a fallback to drawStridedSlow().
2013-06-14 11:46:31 +02:00
Henri Verbeet
8a7ddfbb53
wined3d: Don't use state_colormat() with the GLSL vertex pipe.
...
None of the code in there should be needed for the GLSL vertex pipe, and the
"untracked materials" counter in particular will trigger an unnecessary
fallback to drawStridedSlow().
2013-06-14 11:46:27 +02:00
Henri Verbeet
4de77fa23f
wined3d: Allow a custom pitch to be specified in wined3d_surface_set_mem().
2013-06-14 11:46:20 +02:00
Henri Verbeet
e0494afa00
wined3d: Introduce a helper function for printing floats in GLSL shaders.
2013-06-11 11:33:15 +02:00
Henri Verbeet
e8905e360f
wined3d: Don't modify the texcoord mask for "projected" cube textures in shader_glsl_tex().
2013-06-07 11:58:22 +02:00
Henri Verbeet
f52d4044eb
wined3d: Fix a typo in shader_glsl_generate_ffp_fragment_shader().
2013-06-07 11:58:20 +02:00
Henri Verbeet
d6bc4fe71a
wined3d: Allow surface flags to be passed to texture creation functions.
2013-06-06 11:47:19 +02:00
Henri Verbeet
91096dd7ad
wined3d: Pass a wined3d_resource_desc structure to wined3d_texture_create_3d().
2013-06-06 11:47:07 +02:00
Francois Gouget
145c417e98
wined3d: Make state_fog_vertexpart() static.
2013-06-06 11:47:02 +02:00
Henri Verbeet
b23739316c
wined3d: Pass a wined3d_resource_desc structure to wined3d_texture_create_cube().
2013-06-05 17:31:39 +02:00
Henri Verbeet
9d4cbd6195
wined3d: Pass a wined3d_resource_desc structure to wined3d_texture_create_2d().
2013-06-05 17:31:39 +02:00
Henri Verbeet
1366e3a5bf
wined3d: Pass a wined3d_resource_desc structure to wined3d_texture_init().
2013-06-05 17:31:39 +02:00
Henri Verbeet
13a38e8d5e
wined3d: Pass a wined3d_resource_desc structure to device_parent_create_swapchain_surface().
2013-06-04 10:14:28 +02:00
Henri Verbeet
a4d2660c9b
wined3d: Pass a wined3d_resource_desc structure to device_parent_create_texture_surface().
2013-06-04 10:14:26 +02:00
Henri Verbeet
1276a3db04
wined3d: Properly set resource dimensions in wined3d_texture_init().
2013-06-04 10:14:24 +02:00
Henri Verbeet
a3f59cf618
wined3d: Allow textures as swapchain surfaces.
2013-06-03 11:30:43 +02:00
Henri Verbeet
48d470f60c
wined3d: Add base format info for some typeless formats.
2013-06-03 11:30:34 +02:00
Henri Verbeet
51bbfa5ced
wined3d: Allow 32 bpc UINT formats in vertex declarations.
2013-06-03 11:30:31 +02:00
Kyle Luna
7f5f166a19
wined3d: Add Mobility Radeon HD 4200.
2013-05-31 18:25:01 +02:00
Henri Verbeet
e4f50de336
wined3d: Get rid of the unused "half" GLSL variable in shader_glsl_ffp_vertex_lighting().
2013-05-31 11:57:40 +02:00
Francois Gouget
49dbf2464f
wined3d: Add a trailing '\n' to a shader_addline() call.
2013-05-30 20:19:33 +02:00
Henri Verbeet
8352d45da5
wined3d: Rename "fogmode" to "wined3d_ffp_ps_fog_mode".
...
This is mostly for consistency with wined3d_ffp_vs_fog_mode.
2013-05-30 10:57:15 +02:00
Henri Verbeet
e4816996c3
ddraw: Handle the "DirectDrawRenderer" registry key in wined3d.
2013-05-30 10:57:08 +02:00
Henri Verbeet
74c5a22daa
wined3d: Only invalidate the current ffp vertex shader if the light type changed.
...
As opposed to any time a light parameter changed.
2013-05-29 12:12:33 +02:00
Henri Verbeet
bdd97858bf
wined3d: Only write gl_ClipVertex if clipping is enabled in shader_glsl_generate_ffp_vertex_shader().
2013-05-29 12:12:32 +02:00
Henri Verbeet
1c2392ddb0
wined3d: Only write gl_PointSize for point primitives in shader_glsl_generate_ffp_vertex_shader().
2013-05-29 12:12:32 +02:00
Henri Verbeet
2014141a25
wined3d: Add support for GLSL based fixed function vertex shaders.
2013-05-29 12:12:32 +02:00
Henri Verbeet
50a3864515
wined3d: Just remove the D3DCMP_NOTEQUAL / D3DCMP_EQUAL FIXME in state_zfunc().
...
As far as I'm aware this just works, I'm not aware of any open issues related
to it.
2013-05-28 14:55:08 +02:00
Henri Verbeet
97b6299eaf
wined3d: Expose WINED3DVTXPCAPS_TEXGEN_SPHEREMAP.
...
Since we already implement it. Tweening will likely never work with fixed
function GL.
2013-05-28 14:55:00 +02:00
Henri Verbeet
b5df8bd4f5
wined3d: Use debug_d3dstate() in compile_state_table() as well.
2013-05-28 14:54:54 +02:00
Henri Verbeet
273dcbf564
wined3d: Get rid of the unused "streams" field from struct wined3d_vertex_declaration.
2013-05-27 19:28:57 +02:00
Henri Verbeet
b35045ba25
wined3d: Don't create FBOs in context_bind_fbo().
...
We can just do this in context_create_fbo_entry() now.
2013-05-27 19:28:52 +02:00
Henri Verbeet
7ca6839c94
wined3d: Also clear context->current_fbo in context_apply_blit_state().
...
The draw buffer handling code depends on this being current. This fixes a bug
exposed by commit 075fa6547c
.
2013-05-27 19:28:47 +02:00
Marcus Meissner
589b48e495
wined3d: Remove now useless NULL check (Coverity).
2013-05-27 19:02:43 +02:00
Stefan Dösinger
10929cbe43
wined3d: Correct an ERR/FIXME.
2013-05-21 19:41:12 +02:00
Stefan Dösinger
9287bb80dc
d3d: d3d9ex does not do video memory accounting for D3DPOOL_DEFAULT resources.
2013-05-20 19:08:28 +02:00
Stefan Dösinger
6621b11ad1
wined3d: Don't pass the device to atifs_free_ffpshader.
2013-05-15 19:04:19 +02:00
Stefan Dösinger
121bd9d201
wined3d: Initialize the gl_info pointer from the context.
2013-05-15 19:04:16 +02:00
Stefan Dösinger
b12ec91c09
wined3d: Don't log the device pointer in shader_arb_select.
2013-05-15 19:04:04 +02:00
Stefan Dösinger
71723ad086
wined3d: Disable the fixed function vertex pipeline when ARB vertex programs are used.
2013-05-14 18:37:13 +02:00
Stefan Dösinger
6fce4d4547
wined3d: Pass the state and private data to shader_select.
2013-05-14 18:37:08 +02:00
Stefan Dösinger
47f385adf0
wined3d: Add a separate function for disabling shaders.
2013-05-14 18:37:04 +02:00
Stefan Dösinger
036a62a245
wined3d: Explicitly pass the state to shader_load_constants.
2013-05-14 18:36:59 +02:00
Stefan Dösinger
5d138799ea
wined3d: Don't access the stateblock from shader_arb_load_constants_internal.
2013-05-14 18:36:53 +02:00
Alexandre Julliard
02d56bd3a2
wined3d: Don't bother to unregister classes at process exit.
2013-05-14 11:33:29 +02:00
Stefan Dösinger
260e1cb0b3
wined3d: Pass the pixel shader input signature to shader_arb_generate_vshader.
2013-05-13 19:57:11 +02:00
Stefan Dösinger
e25b968499
wined3d: Fix a ~0U assignment.
2013-05-13 19:57:09 +02:00
Austin English
c012b1a13c
wined3d: Add NVidia GeForce GT 630.
2013-05-08 12:39:55 +02:00
Matteo Bruni
58dc0346d6
wined3d: Remove some, now unnecessary, glReadBuffer(GL_NONE) calls.
...
This reverts parts of e4efcea223
and
8e12b2e61e
.
2013-04-26 16:28:22 +02:00
Matteo Bruni
bda63dd4a9
wined3d: Set GL_NONE for glReadBuffer / glDrawBuffer on FBO initialization.
2013-04-26 16:28:19 +02:00
Stefan Dösinger
76941eff00
wined3d: Move gl_info->limits.max_texture_stages to d3d_info.
2013-04-25 20:25:10 +02:00
Stefan Dösinger
ac99d53991
wined3d: Move valid_rt_mask to wined3d_d3d_info.
2013-04-25 20:25:10 +02:00
Stefan Dösinger
cb01fb27b1
wined3d: Move max_ffp_textures to wined3d_d3d_info.
2013-04-25 20:25:09 +02:00
Stefan Dösinger
768e8c098c
wined3d: Move shader limits to wined3d_d3d_info.
2013-04-25 20:25:09 +02:00
Stefan Dösinger
f7580726b0
wined3d: Don't pass the device to gen_ffp_frag_op.
2013-04-25 20:25:08 +02:00
Stefan Dösinger
820c12c98f
wined3d: Access gl_info and d3d_info from the context in find_arb_*_compile_args.
2013-04-25 20:25:08 +02:00
Stefan Dösinger
16e862ba9d
wined3d: Add a new structure for d3d limits and other info.
2013-04-25 20:25:07 +02:00
Henri Verbeet
471991eb9a
wined3d: Introduce a wined3d_vertex_pipe_ops structure.
2013-04-25 13:39:56 +02:00
Stefan Dösinger
c371af0d5c
wined3d: Get rid of device->view_ident.
2013-04-24 18:26:56 +02:00
Henri Verbeet
6fe9e0f033
wined3d: Disable occlusion query support if the implementation has 0 counter bits.
2013-04-23 15:35:08 +02:00
Stefan Dösinger
f663683980
wined3d: Remove leftover texture accesses in GLSL shader generation.
2013-04-22 17:56:05 +02:00
Matteo Bruni
197cdcc9ae
wined3d: Use ARB_internalformat_query2 for the other texture format caps too.
2013-04-22 17:55:38 +02:00
Matteo Bruni
6fa87980ca
wined3d: Use ARB_internalformat_query2 to check for texture format rendering and blending support, where available.
2013-04-22 17:55:36 +02:00
Matteo Bruni
1d17176a0d
wined3d: Add ARB_internalformat_query2 GL extension.
2013-04-22 17:55:33 +02:00
Henri Verbeet
c756496326
wined3d: Rename the device "strided_streams" field to "stream_info".
...
The "strided" in there is mostly historic, it hasn't really been accurate for
a while now.
2013-04-22 15:26:11 +02:00
Henri Verbeet
82a06a0a36
wined3d: Get rid of the unused TRACE_STRIDED macro.
2013-04-22 15:26:04 +02:00
Henri Verbeet
ee6d17cd54
wined3d: Add support for GL_ARB_debug_output.
2013-04-19 10:43:40 +02:00
Henri Verbeet
5115f55eeb
wined3d: Use WGL_ARB_create_context when available.
2013-04-19 10:43:37 +02:00
Henri Verbeet
3004baeb62
wined3d: Simplify wined3d_check_device_format().
2013-04-18 11:42:57 +02:00
Henri Verbeet
ff48c3ba58
wined3d: Properly check if a format has a conversion function in wined3d_check_device_format().
2013-04-18 11:42:50 +02:00
Henri Verbeet
0e32c9a247
wined3d: Add a performance warning for mapping a dynamic surface without WINED3D_MAP_DISCARD.
2013-04-18 11:42:47 +02:00
Henri Verbeet
c0a84454c4
wined3d: Introduce a separate debug channel for performance warnings.
2013-04-17 11:36:22 +02:00
Henri Verbeet
42208d083c
wined3d: Get rid of the unused WINED3DFMT_FLAG_FOURCC flag.
2013-04-17 11:36:19 +02:00
Henri Verbeet
84219f1964
wined3d: Immediate constants should always have a valid location in shader_glsl_load_constantsF().
2013-04-17 11:36:17 +02:00
Stefan Dösinger
ea69fa943f
wined3d: Enable GL_ARB_texture_rectangle in GLSL ffp fragment shaders.
2013-04-16 17:49:11 +02:00
Stefan Dösinger
c6ed62735d
wined3d: Refuse to create NPOT textures without GL support.
2013-04-16 17:48:20 +02:00
Henri Verbeet
1a551fe5f9
wined3d: Immediate constants should always have a valid location in shader_glsl_load_constantsB().
2013-04-16 12:14:03 +02:00
Henri Verbeet
302ad29742
wined3d: Constants in constants_set should always have a valid location in shader_glsl_load_constantsB().
2013-04-16 12:14:01 +02:00
Henri Verbeet
00cc81dc69
wined3d: Simplify DISCARD / READONLY handling in wined3d_buffer_map() a bit.
2013-04-16 12:13:59 +02:00
Stefan Dösinger
76234750a5
wined3d: Don't hardcode the ps_1_3 sampler limit in find_ps_compile_args.
2013-04-15 17:46:00 +02:00
Stefan Dösinger
0680b1758d
wined3d: Store ps 1.4 texture types in ps_compile_args.
2013-04-15 17:45:58 +02:00
Stefan Dösinger
547be26d90
wined3d: Use the np2_fixup to find out if a RECT texture is used.
2013-04-15 17:45:54 +02:00
Stefan Dösinger
196c88cfc4
wined3d: 1x1 texures have a power of two size.
2013-04-15 17:45:44 +02:00
Henri Verbeet
12a05be5b6
wined3d: Use GL_STATIC_DRAW_ARB for static buffers.
...
This mostly affects the initial placement of the VBO. If an application really
does use a static buffer as if it was a dynamic one the driver is likely to
migrate it out of VRAM anyway, we shouldn't penalize more well-behaved
applications for that.
2013-04-15 15:16:11 +02:00
Matteo Bruni
3e564b1e93
wined3d: Use 0 as GL internal format for WINED3DFMT_NULL.
2013-04-11 17:38:18 +02:00
Sam Edwards
33d31a3547
wined3d: Properly handle backbuffer_width/_height=0 in wined3d_device_reset.
2013-04-11 12:06:49 +02:00
Stefan Dösinger
822bcfdf74
wined3d: Remove the unused idx_data parameter from draw_primitive.
2013-04-10 16:16:44 +02:00
Matteo Bruni
f6d2737e62
wined3d: Make the entire surface current after clearing a discarded depth buffer.
2013-04-10 15:46:49 +02:00
Matteo Bruni
50a91e11c6
wined3d: Update comment on top of format_texture_info[].
2013-04-10 15:46:30 +02:00
Matteo Bruni
075fa6547c
wined3d: Avoid redundant glDrawBuffer() calls.
2013-04-10 15:46:26 +02:00
Matteo Bruni
0d563a69dd
wined3d: Fix typo, really check whether color fixups are supported.
2013-04-10 15:46:22 +02:00
Matteo Bruni
a0c06a94aa
wined3d: Reset all the dummy textures to 0 on destroy.
2013-04-10 15:46:18 +02:00
Matteo Bruni
46fa0448d9
wined3d: Remove useless glClearxxx calls.
2013-04-10 15:46:14 +02:00
Stefan Dösinger
8c2874ee99
wined3d: Put local constants into the shader code in ARB shaders.
2013-04-09 16:33:31 +02:00
Stefan Dösinger
667f4225b5
wined3d: Put local constants into the shader code again.
...
This is essentially a revert of cd7825c893
,
with proper precision.
2013-04-09 16:33:25 +02:00
André Hentschel
a2bebdcc7c
wined3d: Report Win 8 when appropriate.
2013-04-04 19:30:08 +02:00
Sam Edwards
6c43f90c50
wined3d: Ignore WS_VISIBLE and WS_EX_TOPMOST when dropping out of fullscreen.
2013-04-03 11:33:52 +02:00
Sam Edwards
6ab0ff5b9d
wined3d: Make fullscreen windows use HWND_TOPMOST instead of HWND_TOP.
2013-04-03 11:33:38 +02:00
Jérôme Gardou
b7649efb2d
wined3d: Initialize adapter device name even if opengl is not used.
2013-04-03 11:33:16 +02:00
Frédéric Delanoy
8e9af2869c
wined3d: Add NVIDIA GeForce 410M.
2013-03-27 12:03:49 +01:00
Daniel Jelinski
d8a86da66e
wined3d: Add NVidia GeForce 315M.
2013-03-26 12:07:59 +01:00
Andrew Talbot
e6f5829ae1
wined3d: Avoid signed-unsigned integer comparisons.
2013-03-05 09:50:03 +01:00
Ričardas Barkauskas
cf12f51b15
wined3d: Make shader buffer dynamic.
2013-02-26 11:28:44 +01:00
Ričardas Barkauskas
b5ff0a6983
wined3d: Rename bsize to content_size to reflect usage.
2013-02-26 11:27:39 +01:00
Matteo Bruni
5e28b0c974
wined3d: Add RESZ support.
2013-02-19 10:39:47 +01:00
Matteo Bruni
25d0d0876d
wined3d: Make (wined3d_)surface_depth_blt_fbo handle locations other than SFLAG_INTEXTURE.
2013-02-19 10:39:42 +01:00
Stefan Dösinger
3221e7fdd0
wined3d: Reserve one vs constant on r200.
2013-02-11 11:24:35 +01:00
Stefan Dösinger
425eab4cf9
wined3d: Use the ARBfp ffp pipeline only if ARBfp is supported.
2013-02-11 11:24:20 +01:00
Henri Verbeet
c37594d3a9
wined3d: Add WINED3DFMT_INST to the format table.
...
We need the format to exist in apply_format_fixups() in particular.
2013-02-08 19:31:18 +01:00
Michael Stefaniuc
50a9fb579c
wined3d: Remove ERR() on HeapAlloc failure for small sizes known at compile time.
2013-02-06 09:04:41 +01:00
Francois Gouget
68b22623b2
wined3d: debug_{d3dbasis, d3ddegree}() are not used anymore so remove them.
2013-01-29 11:48:46 +01:00
Francois Gouget
e7adf7fbf7
wined3d: Make device_stream_info_from_declaration() static.
2013-01-29 11:48:42 +01:00
Matteo Bruni
59171c06ce
wined3d: Rebind texture before checking for its content in check_fbo_compat().
2013-01-29 11:48:26 +01:00
Henri Verbeet
c9ca9c5a7e
wined3d: Get rid of CheckBumpMapCapability().
...
The color fixup being supported is implied by WINED3DFMT_FLAG_TEXTURE.
2013-01-28 14:05:41 +01:00
Henri Verbeet
4cdb03a76e
wined3d: Get rid of CheckTextureCapability().
2013-01-28 14:05:38 +01:00
Henri Verbeet
7c8dab24e6
wined3d: Introduce a format flag for texturing.
2013-01-28 14:05:34 +01:00
Michael Stefaniuc
b28aff0dd7
wined3d: Use assignment instead of memcpy to copy structs.
2013-01-28 14:00:18 +01:00
Stefan Dösinger
1a3f741643
wined3d: Remove draw_primitive_strided.
2013-01-25 11:30:33 +01:00
Stefan Dösinger
149a85c2e7
d3d: Remove high level patch support.
...
No Windows driver ever exposed this, and no game uses this. The
only application that used this feature is a DirectX 8 SDK sample.
2013-01-25 11:29:41 +01:00
Henri Verbeet
6c6565dea0
wined3d: Get rid of a superfluous texture copy in check_fbo_compat().
2013-01-25 11:18:19 +01:00
Henri Verbeet
dc21460397
wined3d: Replace "VertexShaderMode" and "PixelShaderMode" with shader model limits.
2013-01-25 11:18:13 +01:00
Henri Verbeet
6f04922de0
wined3d: Support all fixups in shader_none_color_fixup_supported().
2013-01-25 11:18:09 +01:00
Henri Verbeet
8347c67c69
wined3d: Get rid of CheckWrapAndMipCapability().
2013-01-24 14:33:05 +01:00
Henri Verbeet
63902bfd5c
wined3d: Get rid of CheckPostPixelShaderBlendingCapability().
2013-01-24 14:33:02 +01:00
Henri Verbeet
b882a70282
wined3d: Properly set WINED3DFMT_FLAG_VTF in init_format_texture_info().
2013-01-24 14:32:58 +01:00
Stefan Dösinger
aaa11492db
wined3d: Ignore clears if count = 0 and rects != NULL.
2013-01-23 19:16:32 +01:00
Henri Verbeet
d6105c5f0f
wined3d: Get rid of CheckFilterCapability().
2013-01-23 12:48:45 +01:00
Henri Verbeet
6527277a58
wined3d: Properly set WINED3DFMT_FLAG_FILTERING in init_format_texture_info().
2013-01-23 12:48:41 +01:00
Henri Verbeet
3f21757702
wined3d: Get rid of select_shader_mode().
2013-01-23 12:48:34 +01:00
Henri Verbeet
c90a1e5e21
wined3d: Get rid of CheckSrgbReadCapability().
2013-01-22 12:13:49 +01:00
Henri Verbeet
9307327ede
wined3d: Properly set WINED3DFMT_FLAG_SRGB_WRITE in init_format_texture_info().
2013-01-22 12:13:46 +01:00
Henri Verbeet
5ce220eb2f
wined3d: Add sRGB writes to the shader backend and fragment pipe caps.
2013-01-22 12:13:42 +01:00
Henri Verbeet
c525cf381d
wined3d: Move "vs_clipping" to the shader caps.
2013-01-21 12:51:22 +01:00
Henri Verbeet
0e0e3b76f5
wined3d: Move "ffp_proj_control" to the fragment caps.
2013-01-21 12:51:21 +01:00
Henri Verbeet
75a38fa2fa
wined3d: Get rid of the select_shader_mode() call in wined3d_get_device_caps().
...
The shader backend already returns the correct caps.
2013-01-21 12:51:20 +01:00
Henri Verbeet
e73aa3e83d
wined3d: Get rid of vs_selected_mode / ps_selected_mode from struct wined3d_device.
...
These are only used by wined3d_shader_create_vs() /
wined3d_shader_create_ps(), but they're redundant there since the "none"
shader backend doesn't support any shader version.
2013-01-18 13:29:04 +01:00
Henri Verbeet
c10c9fba76
wined3d: Replace InitAdapters() with a function to initialize a single adapter.
2013-01-18 13:29:04 +01:00
Henri Verbeet
d183f118cf
wined3d: Introduce a separate function for intializing the adapter's framebuffer configs.
2013-01-18 13:29:03 +01:00
Henri Verbeet
6c7cce55a7
wined3d: Get rid of the "opengl" field in struct wined3d_adapter.
2013-01-17 12:22:05 +01:00
Henri Verbeet
1249976eb6
wined3d: Get rid of the surface_type parameter to wined3d_check_device_format().
2013-01-17 12:22:01 +01:00
Henri Verbeet
ce912d5149
wined3d: Get rid of the surface_type parameter to wined3d_surface_create().
2013-01-17 12:21:55 +01:00
Henri Verbeet
31e8976910
wined3d: Get rid of the surface_type parameter to wined3d_swapchain_create().
2013-01-16 12:22:57 +01:00
Henri Verbeet
f3dbbba48e
wined3d: Initialize the various backends in wined3d_adapter_init_nogl() as well.
2013-01-16 12:22:43 +01:00
Stefan Dösinger
151407e5bf
wined3d: Shadow buffers in sysmem when software vertexprocessing is used.
2013-01-15 16:24:50 +01:00
Henri Verbeet
7595a58085
ddraw: Explicitly create a wined3d object without 3D capabilities when creating a normal wined3d object fails.
2013-01-14 11:01:53 +01:00
Henri Verbeet
3e7c800e9c
wined3d: Get rid of the user_stream field from wined3d_state.
...
All remaining uses are equivalent to "device->up_strided". (Which should of
course eventually go away as well.)
2013-01-07 11:12:23 +01:00
Henri Verbeet
5b42297a31
wined3d: Remove a redundant condition in the indexbuffer() state handler.
...
Strided draws don't use VBOs.
2013-01-07 11:12:19 +01:00
Henri Verbeet
44b462c9b4
wined3d: Just restore state->user_stream in wined3d_device_draw_indexed_primitive_strided().
2013-01-04 12:17:01 +01:00
Henri Verbeet
b557f5ba3a
wined3d: Don't touch state->user_stream in wined3d_device_process_vertices().
...
device_stream_info_from_declaration() no longer cares about
state->user_stream.
2013-01-04 12:16:56 +01:00
Henri Verbeet
76a2864a3b
wined3d: state->user_stream is always FALSE in device_stream_info_from_declaration().
...
Since user pointer draws were removed, state->user_stream will only ever be
set for "strided" draws, and device_stream_info_from_declaration() is never
called for those.
2013-01-04 12:16:49 +01:00
Henri Verbeet
3046a2cbef
wined3d: Get rid of some useless braces in draw_primitive().
2013-01-03 16:43:45 +01:00
Henri Verbeet
85d12b320c
wined3d: Recognize any "X.Org" GL vendor as Mesa.
2013-01-03 16:43:36 +01:00
Henri Verbeet
cf4f09cf85
wined3d: Simplify select_card_amd_mesa() a bit.
...
We can use the same code for the Gallium and "classic" drivers, and the
classic drivers are no longer supported upstream anyway.
2013-01-03 16:43:32 +01:00
Caron Jensen
e51bd12315
wined3d: Add new Radeon HD 6570 GL renderer string.
2012-12-28 20:32:40 +01:00
Andrew Talbot
c61b14cbcc
wined3d: Indentation fix.
2012-12-24 13:30:20 +01:00
Jiang Yike
44d5d3951b
wined3d: Add recognition for NVIDIA GeForce GTX 660 Ti, 660, 650 Ti and 650.
2012-12-19 14:38:59 +01:00
Stefan Dösinger
8cf55497cc
wined3d: Remove draw_*_primitive_up.
...
Note that I can't remove the state->user_stream mess yet, because of
draw_*_primitive_strided. Another patchset will deal with that.
2012-12-19 12:53:28 +01:00
Piotr Caban
b71af96b9c
wined3d: Recognize Nvidia GT610 card.
2012-12-18 12:37:59 +01:00
Caron Jensen
86cb15b235
wined3d: Recognize Nvidia GT520 cards.
2012-12-14 18:58:10 +01:00
Francois Gouget
130cabbca6
wined3d: Remove a stray semi-colon from the spec file.
2012-12-11 12:03:43 +01:00
Henri Verbeet
78984cf46c
wined3d: Get rid of ENTER_GL / LEAVE_GL.
2012-12-11 12:03:39 +01:00
Henri Verbeet
9fbd3bbed6
d3d10core: Implement d3d10_device_PSGetSamplers().
2012-12-10 11:25:49 +01:00
Henri Verbeet
4c4131cd78
d3d10core: Implement d3d10_device_PSSetSamplers().
2012-12-10 11:25:46 +01:00
Henri Verbeet
2c01e11eca
d3d10core: Implement d3d10_device_GSGetSamplers().
2012-12-07 10:35:51 +01:00
Henri Verbeet
047d607e07
d3d10core: Implement d3d10_device_GSSetSamplers().
2012-12-07 10:35:44 +01:00
Alexandre Julliard
13f126498b
wined3d: Call wglSwapBuffers through the GL driver function table.
2012-12-06 14:10:04 +01:00
Henri Verbeet
c98767a425
d3d10core: Implement d3d10_device_VSGetSamplers().
2012-12-06 12:55:59 +01:00
Henri Verbeet
e5805c316c
d3d10core: Implement d3d10_device_VSSetSamplers().
2012-12-06 12:55:50 +01:00
Stefan Dösinger
8e05ee6994
wined3d: Add GL_ALPHA to the atifs argument replicator debug function.
2012-12-05 12:48:11 +01:00
Stefan Dösinger
799ea13fb9
wined3d: Use sign fixup for the atifs bumpenv matrix.
2012-12-05 12:48:04 +01:00
Stefan Dösinger
e53aa8c9e2
wined3d: Test the correct program for native limits.
2012-12-05 12:47:55 +01:00
Stefan Dösinger
33802da4f3
wined3d: Correctly count used stages in the atifs pipeline.
2012-12-05 12:47:39 +01:00
Stefan Dösinger
7b95df03c6
wined3d: Bind the src in a manual presentation blit.
2012-12-05 12:47:33 +01:00
Henri Verbeet
6ac3c48384
d3d10core: Implement d3d10_device_PSGetConstantBuffers().
2012-12-05 12:44:07 +01:00
Henri Verbeet
b034f49183
d3d10core: Implement d3d10_device_PSSetConstantBuffers().
2012-12-05 12:44:01 +01:00
Henri Verbeet
d906c94382
d3d10core: Implement d3d10_device_GSGetConstantBuffers().
2012-12-04 00:02:06 +01:00
Henri Verbeet
feda45279e
d3d10core: Implement d3d10_device_GSSetConstantBuffers().
2012-12-04 00:02:00 +01:00
Henri Verbeet
1835e2f5ba
wined3d: Add support for ARB_instanced_arrays.
2012-12-03 12:37:49 +01:00
Henri Verbeet
52c6abb485
wined3d: Resolve the instance count for instanced arrays in load_numbered_arrays().
2012-12-03 12:37:42 +01:00
Stefan Dösinger
483d025795
wined3d: Add an explicit break in case of unhandled BUMPENVMAP.
2012-12-03 12:37:14 +01:00
Henri Verbeet
027ef4ccdb
d3d10core: Implement d3d10_device_VSGetConstantBuffers().
2012-11-30 11:42:54 +01:00
Henri Verbeet
ae5e15319e
d3d10core: Implement d3d10_device_VSSetConstantBuffers().
2012-11-30 11:42:48 +01:00
Frédéric Delanoy
a6db668895
wined3d: Add some 'fall through' comments (coverity).
2012-11-30 11:42:24 +01:00
Henri Verbeet
56b3953207
wined3d: Fix a typo in wined3d_device_set_stream_output().
2012-11-29 00:16:50 +01:00
Henri Verbeet
5d9d20ee0e
wined3d: Also unbind stream outputs and the geometry shader in stateblock_unbind_resources().
2012-11-29 00:16:44 +01:00
Henri Verbeet
7f62678c16
d3d10core: Implement d3d10_device_DrawIndexedInstanced().
2012-11-27 16:54:57 +01:00
Henri Verbeet
eefe6346a9
wined3d: Properly handle scalar destinations in shader_glsl_conditional_move().
...
In particular, we modify dst.write_mask in the code further down in order to
mask out unused channels, but the writemask is ignored for scalar registers.
Since all that code is redundant anyway for scalar destinations, we can just
reuse the special case for scalar src0.
2012-11-27 16:54:50 +01:00
Henri Verbeet
dc67be012f
d3d10core: Implement d3d10_device_SOGetTargets().
2012-11-23 14:40:36 +01:00
Henri Verbeet
5b781d709d
d3d10core: Implement d3d10_device_SOSetTargets().
2012-11-23 14:40:30 +01:00
Henri Verbeet
d0d213f7d1
d3d10core: Implement d3d10_device_IAGetIndexBuffer().
2012-11-21 13:25:57 +01:00
Henri Verbeet
79f0b4d977
d3d9: Avoid resetting device state for d3d9ex resets.
2012-11-20 11:44:27 +01:00
Henri Verbeet
94ab9d5ef3
wined3d: Update the scissor rect and viewport even on redundant wined3d_device_set_render_target() calls.
2012-11-19 11:46:55 +01:00
Henri Verbeet
ffd892f6dd
wined3d: Make state_geometry_shader() static.
2012-11-16 11:39:50 +01:00
Christian Inci
83ed5efb31
wined3d: Add support for nVidia GT 640M.
2012-11-15 21:22:06 +01:00
Henri Verbeet
9a27b0ad71
wined3d: Add support for geometry shaders to the GLSL shader backend.
2012-11-15 12:19:36 +01:00
Henri Verbeet
25c449247f
d3d10core: Implement d3d10_device_GSGetShader().
2012-11-14 11:27:44 +01:00
Henri Verbeet
9081f8afb1
d3d10core: Implement d3d10_device_GSSetShader().
2012-11-14 11:27:40 +01:00
Henri Verbeet
0a7b32e3f0
wined3d: Handle relative addresses in the common code in shader_glsl_get_register_name().
2012-11-12 12:15:30 +01:00
Henri Verbeet
10d46bc042
wined3d: Add support for GLSL based fixed function fragment shaders.
2012-11-12 12:15:25 +01:00
Matteo Bruni
a7956c4c4f
wined3d: Pop control frames in disabled if branches (ARB shader backend).
2012-11-09 16:42:56 +01:00
Matteo Bruni
b532284a9e
wined3d: Ensure GL_FRAGMENT_PROGRAM_ARB is enabled when using ARB shaders.
2012-11-09 16:42:53 +01:00
Henri Verbeet
986f4cb9b1
wined3d: Introduce a separate function for generating the sRGB write GLSL code.
2012-11-09 11:30:25 +01:00
Henri Verbeet
f6d05fbae6
wined3d: Introduce a separate function for generating the fixed function fog GLSL code.
2012-11-09 11:30:22 +01:00
Henri Verbeet
02250bb1bd
wined3d: Introduce a separate function for initializing ps uniform locations.
2012-11-08 15:37:48 +01:00
Henri Verbeet
c9f4cfc96a
wined3d: Introduce a separate function for initializing vs uniform locations.
2012-11-08 15:37:48 +01:00
Henri Verbeet
b42e02ce9b
wined3d: Use the correct RGTC constant in format_texture_info.
2012-11-08 15:37:47 +01:00
Alexandre Julliard
449deda62f
wined3d: Link directly to opengl32.
2012-11-08 15:37:44 +01:00
Alexandre Julliard
cf2b981ce0
wined3d: Make use of the generated wgl.h header.
2012-11-07 18:12:04 +01:00
Henri Verbeet
e8b0de1e14
wined3d: Use more consistent names for the various bumpenv uniforms.
2012-11-07 11:57:29 +01:00
Henri Verbeet
9b118257c4
wined3d: Introduce a separate structure for the ps specific fields in struct glsl_shader_prog_link.
2012-11-07 11:57:27 +01:00
Henri Verbeet
ffd5e3eb81
wined3d: Introduce a separate structure for the vs specific fields in struct glsl_shader_prog_link.
2012-11-06 16:02:34 +01:00
Henri Verbeet
b8bb2a4f85
wined3d: Use the shader object ids as program key.
2012-11-06 16:02:34 +01:00
Henri Verbeet
0e856abf6d
wined3d: Enable or disable the fragment pipe in shader_select().
2012-11-05 11:30:33 +01:00
Henri Verbeet
d74cb4571b
wined3d: Simplify shader selection.
2012-11-05 11:30:32 +01:00
Henri Verbeet
5059da9e32
wined3d: Don't depend on device internals in fragment_pipeline.alloc_private().
...
In particular, device->shader_backend and device->shader_priv aren't
initialized yet when the fragment pipe is initialized.
2012-10-29 10:47:03 +01:00
Henri Verbeet
17e33e9b27
wined3d: Make the shader backend responsible for controlling the fixed function fragment pipe.
2012-10-25 11:48:31 +02:00
Henri Verbeet
2bf46c60fb
wined3d: Replace the face and level parameters to device_parent_create_texture_surface() with the sub-resource index.
2012-10-25 11:48:25 +02:00
Rico Schüller
deae923cd8
wined3d: Fix return value for WINED3DFMT_ATI2N in CheckTextureCapability().
2012-10-24 19:37:15 +02:00
Henri Verbeet
41c8f1ef8a
wined3d: Remove some dead code from gen_ffp_instr().
2012-10-24 11:24:25 +02:00
Henri Verbeet
ddbe791d37
wined3d: Set texture_level in surface_set_texture_target() as well.
2012-10-24 11:24:22 +02:00
Henri Verbeet
672ad06108
wined3d: Get rid of the mostly unused "num_textures_used" field from arbfp_ffp_desc.
2012-10-23 12:11:26 +02:00
Henri Verbeet
6f025deba6
wined3d: Move shader_is_pshader_version() and shader_is_vshader_version() to the ARB program shader backend.
2012-10-23 12:11:18 +02:00
Henri Verbeet
81ae7f606b
wined3d: Explicitly check the shader type in shader_generate_glsl_declarations().
2012-10-23 12:11:13 +02:00
Henri Verbeet
c490fb37cf
wined3d: Implement WINED3DSIH_MOVC in the GLSL shader backend.
2012-10-22 11:44:22 +02:00
Henri Verbeet
7a437c29f3
wined3d: Merge a couple of shader type specific blocks in shader_generate_glsl_declarations().
2012-10-22 11:44:20 +02:00
Henri Verbeet
b96b4c63ee
wined3d: Use shader_glsl_get_prefix() in shader_glsl_gen_sample_code().
2012-10-22 11:44:02 +02:00
Henri Verbeet
db3bdb0a76
wined3d: Also read comments in shader_sm1_is_end().
2012-10-22 11:43:59 +02:00
Henri Verbeet
6beb7dc1a8
wined3d: Merge most of the code for shader_glsl_cmp() and shader_glsl_cnd().
2012-10-18 22:32:19 +02:00
Henri Verbeet
b72ab48ed8
wined3d: Implement WINED3DSIH_ROUND_NI in the GLSL shader backend.
2012-10-18 22:32:14 +02:00
Henri Verbeet
0c1dd7f7d1
wined3d: Explicitly check the shader type in shader_glsl_load_constantsF().
2012-10-18 22:32:09 +02:00
Henri Verbeet
7365f9e6af
wined3d: Explicitly check the shader type in shader_glsl_get_register_name().
2012-10-18 22:32:03 +02:00