ValveSoftware / halflife

Half-Life 1 engine based games
Other
3.6k stars 598 forks source link

[CS1.6] Cannot force anti aliasing #910

Closed eakzoor closed 11 years ago

eakzoor commented 11 years ago

Running game at 800x600 (Fullscreen 4:3 with black borders). I can make it work with -nofbo

Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
Exe build: 13:55:53 Mar 28 2013 (5999)
Processor Information:
    Vendor:  AuthenticAMD
    Speed: 3114 Mhz
    2 logical processors
    2 physical processors
    HyperThreading:  Unsupported
    FCMOV:  Supported
    SSE2:  Supported
    SSE3:  Supported
    SSSE3:  Unsupported
    SSE4a:  Supported
    SSE41:  Unsupported
    SSE42:  Unsupported

Network Information:
    Network Speed:  

Operating System Version:
    Windows 7 (64 bit)
    NTFS:  Supported
    Crypto Provider Codes:  Supported 311 0x0 0x0 0x0

Video Card:
    Driver:  AMD Radeon HD 7700 Series

    DirectX Driver Name:  aticfx32.dll
    Driver Version:  12.100.17.0
    DirectX Driver Version:  8.17.10.1191
    Driver Date: 28 Jan 2013
    Desktop Color Depth: 32 bits per pixel
    Monitor Refresh Rate: 120 Hz
    DirectX Card: AMD Radeon HD 7700 Series
    VendorID:  0x1002
    DeviceID:  0x683f
    Number of Monitors:  2
    Number of Logical Video Cards:  2
    No SLI or Crossfire Detected
    Primary Display Resolution:  1680 x 1050
    Desktop Resolution: 2960 x 1050
    Primary Display Size: 23.35" x 14.57"  (27.48" diag)
                                            59.3cm x 37.0cm  (69.8cm diag)
    Primary Bus Type Not Detected
    Primary VRAM: 1024 MB
    Supported MSAA Modes:  2x 4x 8x 
alfred-valve commented 11 years ago

What is forcing anti-aliasing?

JoiNNN commented 11 years ago

Forced AA from Video driver Control Panel, such as NVIDIA Control Panel... For me with an nVIDIA GeForce 9800 GT works tho. sdgg de_dust20000 de_dust20001

dscharrer commented 11 years ago

I can reproduce this with AMD drivers on Linux (at least with Catalyst 12.8 - ancient, I know) and the equivalent option enabled in amdcccle. I am running the game fullscreen, at my monitor's native resolution (1920x1200).

Forcing anti-aliasing this way used to work when HL1 was released for Linux (and also works in pre-Steam HL1 under Wine). I can also confirm that it works when using -nofbo - did HL1 render directly to the back-buffer when running at the native resolution back then?

This obviously applies to all GoldSrc games.

When setting amdccle to "Use application settings" there is no anti-aliasing in GoldSrc games either, but other bug reports and the -nomsaa options suggest that there should be.

Example where aliasing is clearly visible:

This might also be a duplicate of / related to issue #892.

system information

alfred-valve commented 11 years ago

Can you add "-directblit" to your command line and tell me how that helps.

alfred-valve commented 11 years ago

Okay, that is the issue, if your card didn't support GL_EXT_framebuffer_multisample_blit_scaled then it (incorrectly) disabled the MSAA backbuffer. Setting "-directblit" would work around this. Using your video card driver to force rendering modes isn't supported and won't work (by design) with the current HL1 engine.

ghost commented 11 years ago

I can confirm this bug with NVIDIA. "Use my preference emphasizing: Quality" in NVIDIA control panel

I'm using "-nomsaa" to avoid fps drop in smoke. -directblit or -nodirectblit doesn't help: image -nofbo helps image

image

Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
Exe build: 13:55:53 Mar 28 2013 (5999)
128.0 Mb heap
GL_VENDOR: NVIDIA Corporation
GL_RENDERER: GeForce GT 240/PCIe/SSE2
GL_VERSION: 3.3.0
GL_EXTENSIONS: GL_ARB_arrays_of_arrays GL_ARB_base_instance GL_ARB_blend_func_extended GL_ARB_clear_buffer_object GL_ARB_color_buffer_float GL_ARB_compatibility GL_ARB_compressed_texture_pixel_storage GL_ARB_conservative_depth GL_ARB_copy_buffer GL_ARB_copy_image GL_ARB_debug_output GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_draw_buffers GL_ARB_draw_buffers_blend GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced GL_ARB_ES2_compatibility GL_ARB_ES3_compatibility GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location GL_ARB_fragment_coord_conventions GL_ARB_fragment_layer_viewport GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_framebuffer_no_attachments GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_geometry_shader4 GL_ARB_get_program_binary GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_imaging GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_internalformat_query2 GL_ARB_invalidate_subdata GL_ARB_map_buffer_alignment GL_ARB_map_buffer_range GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_occlusion_query2 GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_program_interface_query GL_ARB_provoking_vertex GL_ARB_robust_buffer_access_behavior GL_ARB_robustness GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_separate_shader_objects GL_ARB_shader_bit_encoding GL_ARB_shader_objects GL_ARB_shader_texture_lod GL_ARB_shading_language_100 GL_ARB_shading_language_420pack GL_ARB_shading_language_include GL_ARB_shading_language_packing GL_ARB_shadow GL_ARB_stencil_texturing GL_ARB_sync GL_ARB_texture_border_clamp GL_ARB_texture_buffer_object GL_ARB_texture_buffer_range GL_ARB_texture_compression GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map GL_ARB_texture_cube_map_array GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_float GL_ARB_texture_gather GL_ARB_texture_mirrored_repeat GL_ARB_texture_multisample GL_ARB_texture_non_power_of_two GL_ARB_texture_query_levels GL_ARB_texture_query_lod GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_texture_rgb10_a2ui GL_ARB_texture_storage GL_ARB_texture_storage_multisample GL_ARB_texture_swizzle GL_ARB_texture_view GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback_instanced GL_ARB_transpose_matrix GL_ARB_uniform_buffer_object GL_ARB_vertex_array_bgra GL_ARB_vertex_array_object GL_ARB_vertex_attrib_binding GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_ARB_window_pos GL_ATI_draw_buffers GL_ATI_texture_float GL_ATI_texture_mirror_once GL_S3_s3tc GL_EXT_texture_env_add GL_EXT_abgr GL_EXT_bgra GL_EXT_bindable_uniform GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_Cg_shader GL_EXT_depth_bounds_test GL_EXT_direct_state_access GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXTX_framebuffer_mixed_formats GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4 GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_packed_pixels GL_EXT_pixel_buffer_object GL_EXT_point_parameters GL_EXT_provoking_vertex GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_shader_objects GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture3D GL_EXT_texture_array GL_EXT_texture_

gpu supports GL_EXT_framebuffer_multisample_blit_scaled

alfred-valve commented 11 years ago

Using -nomsaa will also cause this issue, so don't do that @MaxKorz . Using -nofbo goes back to the older rendering system that lets the nvidia controls inject themselves. So don't use -nomsaa and do use -directblit

ghost commented 11 years ago

yeah, -directblit without -nomsaa fixes the issue, but without -nomsaa I experience low fps in smoke... C'est la vie

alfred-valve commented 11 years ago

Try setting the gl_ansio cvar to different values (try 4 rather than the default 16), that may help your perf a lot with a smaller graphical impact.

ghost commented 11 years ago

no, gl_ansio 0/2/4/6/8/10/12/14/16 in Launch Options - I see no difference