New ATI videocard cant use vtf

Hi all!

I’ve recently bought an all-new computer. Everything works like a charm and the newer games can be run on highest settings.

However when i now run a shader program i was working on on my laptop it is giving the error ‘Cg program too complex for driver’. The problem lies in calling the tex2D(texture, coord) function in the vertex shader (even before i change any actual vertex coordinates).

I’ve been searching the forum for a while now and tried all the mentioned solutions (setting ‘basic-shaders-only #f’, trying other sharder languages, etc).

My new videocard is a Club3D Radeon HD 7870 XT (i expect the problem lies in using an ATI card?) on windows 8. I installed the latest (beta) driver, and, again, the newer games run without a problem.

Has anyone encountered this problem and/or knows a fix/workaround?
Much appreciated!
Stein

Could you post the whole shader? Maybe the problem lies elsewhere…

sure (but im afraid it will be more confusing than helpfull), the fragment shader worked perfectly so here is only the vertex shader. All the commented out sections used to be active. It is currently running but the error occurs when any call to tex2D is uncommented.

//Cg
void vshader(
		in float2 vtx_texcoord0 : TEXCOORD0,
		in float4 vtx_position : POSITION,

		uniform sampler2D k_waterheight1 : TEXUNIT1,
		uniform sampler2D k_waterheight2 : TEXUNIT2,
		uniform float4 k_height1spdsclamp,
		uniform float4 k_height2spdsclamp,
		uniform float4 k_size,
		uniform float k_time,
		in uniform float4 k_waterfactors, 
		in uniform float3 k_dlightvec,

		uniform float4x4 mat_modelproj,
		uniform float4x4 trans_model_to_world,
		uniform float4x4 trans_world_to_model,

		out float4 l_world_position : TEXCOORD1,
		out float4 l_position : POSITION,
		out float2 l_texcoord0 : TEXCOORD0,
		out float3 l_normal,
		out float3 l_tangent,
		out float3 l_binormal,
		out float3 l_dlightvec,
		out float4 l_pixelpos
) {
	//Getting correct texture coordinates of scrolling heightmap
	l_position = vtx_position;
	float2 texcoord1 = vtx_texcoord0*k_height1spdsclamp.z;
	texcoord1.x += k_height1spdsclamp.x*k_time;
	texcoord1.y += k_height1spdsclamp.y*k_time;
	float2 texcoord2 = vtx_texcoord0*k_height2spdsclamp.z;
	texcoord2.x += k_height2spdsclamp.x*k_time;
	texcoord2.y += k_height2spdsclamp.y*k_time;
	
	//Getting the height 
	//float4 height1 = (tex2D(k_waterheight1, texcoord1)-.5);
	//l_position.z += height1.x*k_height1spdsclamp.a;
	//float4 height2 = (tex2D(k_waterheight2, texcoord2)-.5);
	//l_position.z += height2.x*k_height2spdsclamp.a;

        //Getting coordinate of closest vertex in x-dir
	float4 dxPos = vtx_position;
	dxPos.x += k_size.x/k_size.z*k_waterfactors.x; 
	//float2 temptexcoord = texcoord1;
	//temptexcoord.x += k_height1spdsclamp.z/k_size.z;
	//height1 = (tex2D(k_waterheight1, temptexcoord)-.5);
	//dxPos.z += height1.x*k_height1spdsclamp.a;
	//temptexcoord = texcoord2;
	//temptexcoord.x += k_height2spdsclamp.z/k_size.z;
	//height2 = (tex2D(k_waterheight2, temptexcoord)-.5);
	//dxPos.z += height2.x*k_height2spdsclamp.a;

	//Getting coordinate of closest vertex in y-dir
	float4 dyPos = vtx_position;
	dyPos.y += k_size.y/k_size.a*k_waterfactors.x;
	//temptexcoord = texcoord1;
	//temptexcoord.y += k_height1spdsclamp.z/k_size.a;
	//height1 = (tex2D(k_waterheight1, temptexcoord)-.5);
	//dyPos.z += height1.x*k_height1spdsclamp.a;
	//temptexcoord = texcoord2;
	//temptexcoord.y += k_height2spdsclamp.z/k_size.a;
	//height2 = (tex2D(k_waterheight2, temptexcoord)-.5);
	//dyPos.z += height2.x*k_height2spdsclamp.a;

	l_tangent = normalize(dxPos.xyz-l_position.xyz);
	l_binormal = normalize(dyPos.xyz-l_position.xyz);
	l_normal = normalize(cross(l_tangent,l_binormal));
	
	l_dlightvec = normalize(mul((float3x3)trans_world_to_model, -k_dlightvec));
	l_pixelpos = l_position;

	l_world_position = mul(trans_model_to_world, l_position);
	l_position = mul(mat_modelproj, l_position);
	l_texcoord0 = vtx_texcoord0;
}

Is your previous videocard NVIDIA? I think it’s known bug with Cg and non-nvidia card. Cg drop profile to arbfp1 arbvp1

Some GPUs don’t like texture lookups in the vertex shader… Either it’s horribly slow or doesn’t work at all.

It doesn’t really make sense in your case either. I see the texture you are accessing seems to be a per-pixel heightmap? But what this would do is sample the heights at the vertices and interpolate them, ignoring tons of data. Are you sure you don’t want to move that part of the calculation to the fragment shader?

Relative topic push texture to vshader sha file

Thanks for all the replies!

To Dolkar:
I do it this way to change the geometry of the mesh. I cant change actual coordinates in the fragment shader right? (even if i could that would cause very blocky displacement [would jump everytime the heightmap got to a new pixel], while the vertex shader interpolates to smooth it out). The heightmap is scaled appropriately so im not wasting any data.

To ninth:
Yes, my previous card was Nvidea. I have already tried the things mentioned in your topic. Though the strange thing is that whenever i add the line ‘//Cg profile vp40 fp40’ on top of the shader it gives the error ‘Shader is not in a supported shader-language’. The same thing goes for any other line except the standard ‘//Cg’.
A solution presented in the post was to rewrite it to GLSL. I could do that, but im also reading

Was this about the line

shader = Shader.load(Shader.SLGLSL, 'vert.glsl', 'frag.glsl')

or about the entire support for GLSL?

It’s about the entire support for GLSL.

As for Cg profile. Header should be of the two lines

But as I told, for the non-nvidia cards Cg drops the profile

“//Cg profile” should be the second line, with “//Cg” still being the first line.

GLSL isn’t broken per say in 1.8.0, but a set of inputs (I believe gl_Vertex and gl_Normal) isn’t working in 1.8.0. Upgrade to 1.8.1 to be sure.

A fix for advanced Cg shaders on non-NVIDIA cards is on its way, it will come in 1.8.2.

Non-NVIDIA cards do not support profiles other than “arbfp1”, “arbvp1”, “glslv” and “glslf”, I believe. You can see which profiles are supported by setting “notify-level-glgsg” to “debug” in 1.8.1.

Possible in 1.8.1 we have another bug Possible bug in shader generator for 1.8.1

Adding the lines

//Cg
//Cg profile vp40 fp40

Doesnt make a difference for any profile (i can also use random names like ‘//Cg abcd efgh’ without getting an error, i think that is was ninth menth with “the non-nvidia cards Cg drops the profile”?)

So if i understand correctly i should either:

  • rewrite the code in GLSL and install v1.8.1, or:
  • have some patience and wait for 1.8.2 to come out which should make my Cg shader work again?

The code silently ignores unknown or unsupported profiles. Can you give me the list of supported Cg profiles when you put this in Config.prc:

notify-level-glgsg debug

(only works in 1.8.1)

Heres the entire feedback i get when running the program. I cant find the exact list you mentioned but perhaps you can?

:display:gsg:glgsg(debug): HAS EXT WGL_ARB_pixel_format 1
:display:gsg:glgsg(debug): HAS EXT WGL_ARB_multisample 1
:display:gsg:glgsg(debug): GL_VENDOR = ATI Technologies Inc.
:display:gsg:glgsg(debug): GL_RENDERER = AMD Radeon HD 7800 Series
:display:gsg:glgsg(debug): GL_VERSION = 4.2.12171 Compatibility Profile Context 12.100.17.0, decoded to 4.2
:display:gsg:glgsg(debug): GL Extensions:
:display:gsg:glgsg(debug): GL_AMDX_debug_output
:display:gsg:glgsg(debug): GL_AMD_blend_minmax_factor
:display:gsg:glgsg(debug): GL_AMD_conservative_depth
:display:gsg:glgsg(debug): GL_AMD_debug_output
:display:gsg:glgsg(debug): GL_AMD_depth_clamp_separate
:display:gsg:glgsg(debug): GL_AMD_draw_buffers_blend
:display:gsg:glgsg(debug): GL_AMD_multi_draw_indirect
:display:gsg:glgsg(debug): GL_AMD_name_gen_delete
:display:gsg:glgsg(debug): GL_AMD_performance_monitor
:display:gsg:glgsg(debug): GL_AMD_pinned_memory
:display:gsg:glgsg(debug): GL_AMD_query_buffer_object
:display:gsg:glgsg(debug): GL_AMD_sample_positions
:display:gsg:glgsg(debug): GL_AMD_seamless_cubemap_per_texture
:display:gsg:glgsg(debug): GL_AMD_shader_stencil_export
:display:gsg:glgsg(debug): GL_AMD_shader_stencil_value_export
:display:gsg:glgsg(debug): GL_AMD_shader_trace
:display:gsg:glgsg(debug): GL_AMD_shader_trinary_minmax
:display:gsg:glgsg(debug): GL_AMD_sparse_texture
:display:gsg:glgsg(debug): GL_AMD_stencil_operation_extended
:display:gsg:glgsg(debug): GL_AMD_texture_cube_map_array
:display:gsg:glgsg(debug): GL_AMD_texture_texture4
:display:gsg:glgsg(debug): GL_AMD_transform_feedback3_lines_triangles
:display:gsg:glgsg(debug): GL_AMD_transform_feedback4
:display:gsg:glgsg(debug): GL_AMD_vertex_shader_layer
:display:gsg:glgsg(debug): GL_AMD_vertex_shader_viewport_index
:display:gsg:glgsg(debug): GL_ARB_ES2_compatibility
:display:gsg:glgsg(debug): GL_ARB_base_instance
:display:gsg:glgsg(debug): GL_ARB_blend_func_extended
:display:gsg:glgsg(debug): GL_ARB_color_buffer_float
:display:gsg:glgsg(debug): GL_ARB_compressed_texture_pixel_storage
:display:gsg:glgsg(debug): GL_ARB_conservative_depth
:display:gsg:glgsg(debug): GL_ARB_copy_buffer
:display:gsg:glgsg(debug): GL_ARB_depth_buffer_float
:display:gsg:glgsg(debug): GL_ARB_depth_clamp
:display:gsg:glgsg(debug): GL_ARB_depth_texture
:display:gsg:glgsg(debug): GL_ARB_draw_buffers
:display:gsg:glgsg(debug): GL_ARB_draw_buffers_blend
:display:gsg:glgsg(debug): GL_ARB_draw_elements_base_vertex
:display:gsg:glgsg(debug): GL_ARB_draw_indirect
:display:gsg:glgsg(debug): GL_ARB_draw_instanced
:display:gsg:glgsg(debug): GL_ARB_explicit_attrib_location
:display:gsg:glgsg(debug): GL_ARB_fragment_coord_conventions
:display:gsg:glgsg(debug): GL_ARB_fragment_layer_viewport
:display:gsg:glgsg(debug): GL_ARB_fragment_program
:display:gsg:glgsg(debug): GL_ARB_fragment_program_shadow
:display:gsg:glgsg(debug): GL_ARB_fragment_shader
:display:gsg:glgsg(debug): GL_ARB_framebuffer_object
:display:gsg:glgsg(debug): GL_ARB_framebuffer_sRGB
:display:gsg:glgsg(debug): GL_ARB_geometry_shader4
:display:gsg:glgsg(debug): GL_ARB_get_program_binary
:display:gsg:glgsg(debug): GL_ARB_gpu_shader5
:display:gsg:glgsg(debug): GL_ARB_gpu_shader_fp64
:display:gsg:glgsg(debug): GL_ARB_half_float_pixel
:display:gsg:glgsg(debug): GL_ARB_half_float_vertex
:display:gsg:glgsg(debug): GL_ARB_imaging
:display:gsg:glgsg(debug): GL_ARB_instanced_arrays
:display:gsg:glgsg(debug): GL_ARB_internalformat_query
:display:gsg:glgsg(debug): GL_ARB_map_buffer_alignment
:display:gsg:glgsg(debug): GL_ARB_map_buffer_range
:display:gsg:glgsg(debug): GL_ARB_multi_draw_indirect
:display:gsg:glgsg(debug): GL_ARB_multisample
:display:gsg:glgsg(debug): GL_ARB_multitexture
:display:gsg:glgsg(debug): GL_ARB_occlusion_query
:display:gsg:glgsg(debug): GL_ARB_occlusion_query2
:display:gsg:glgsg(debug): GL_ARB_pixel_buffer_object
:display:gsg:glgsg(debug): GL_ARB_point_parameters
:display:gsg:glgsg(debug): GL_ARB_point_sprite
:display:gsg:glgsg(debug): GL_ARB_provoking_vertex
:display:gsg:glgsg(debug): GL_ARB_sample_shading
:display:gsg:glgsg(debug): GL_ARB_sampler_objects
:display:gsg:glgsg(debug): GL_ARB_seamless_cube_map
:display:gsg:glgsg(debug): GL_ARB_separate_shader_objects
:display:gsg:glgsg(debug): GL_ARB_shader_atomic_counters
:display:gsg:glgsg(debug): GL_ARB_shader_bit_encoding
:display:gsg:glgsg(debug): GL_ARB_shader_image_load_store
:display:gsg:glgsg(debug): GL_ARB_shader_objects
:display:gsg:glgsg(debug): GL_ARB_shader_precision
:display:gsg:glgsg(debug): GL_ARB_shader_stencil_export
:display:gsg:glgsg(debug): GL_ARB_shader_subroutine
:display:gsg:glgsg(debug): GL_ARB_shader_texture_lod
:display:gsg:glgsg(debug): GL_ARB_shading_language_100
:display:gsg:glgsg(debug): GL_ARB_shading_language_420pack
:display:gsg:glgsg(debug): GL_ARB_shading_language_packing
:display:gsg:glgsg(debug): GL_ARB_shadow
:display:gsg:glgsg(debug): GL_ARB_shadow_ambient
:display:gsg:glgsg(debug): GL_ARB_sync
:display:gsg:glgsg(debug): GL_ARB_tessellation_shader
:display:gsg:glgsg(debug): GL_ARB_texture_border_clamp
:display:gsg:glgsg(debug): GL_ARB_texture_buffer_object
:display:gsg:glgsg(debug): GL_ARB_texture_buffer_object_rgb32
:display:gsg:glgsg(debug): GL_ARB_texture_buffer_range
:display:gsg:glgsg(debug): GL_ARB_texture_compression
:display:gsg:glgsg(debug): GL_ARB_texture_compression_bptc
:display:gsg:glgsg(debug): GL_ARB_texture_compression_rgtc
:display:gsg:glgsg(debug): GL_ARB_texture_cube_map
:display:gsg:glgsg(debug): GL_ARB_texture_cube_map_array
:display:gsg:glgsg(debug): GL_ARB_texture_env_add
:display:gsg:glgsg(debug): GL_ARB_texture_env_combine
:display:gsg:glgsg(debug): GL_ARB_texture_env_crossbar
:display:gsg:glgsg(debug): GL_ARB_texture_env_dot3
:display:gsg:glgsg(debug): GL_ARB_texture_float
:display:gsg:glgsg(debug): GL_ARB_texture_gather
:display:gsg:glgsg(debug): GL_ARB_texture_mirrored_repeat
:display:gsg:glgsg(debug): GL_ARB_texture_multisample
:display:gsg:glgsg(debug): GL_ARB_texture_non_power_of_two
:display:gsg:glgsg(debug): GL_ARB_texture_query_lod
:display:gsg:glgsg(debug): GL_ARB_texture_rectangle
:display:gsg:glgsg(debug): GL_ARB_texture_rg
:display:gsg:glgsg(debug): GL_ARB_texture_rgb10_a2ui
:display:gsg:glgsg(debug): GL_ARB_texture_snorm
:display:gsg:glgsg(debug): GL_ARB_texture_storage
:display:gsg:glgsg(debug): GL_ARB_texture_storage_multisample
:display:gsg:glgsg(debug): GL_ARB_timer_query
:display:gsg:glgsg(debug): GL_ARB_transform_feedback2
:display:gsg:glgsg(debug): GL_ARB_transform_feedback3
:display:gsg:glgsg(debug): GL_ARB_transform_feedback_instanced
:display:gsg:glgsg(debug): GL_ARB_transpose_matrix
:display:gsg:glgsg(debug): GL_ARB_uniform_buffer_object
:display:gsg:glgsg(debug): GL_ARB_vertex_array_bgra
:display:gsg:glgsg(debug): GL_ARB_vertex_array_object
:display:gsg:glgsg(debug): GL_ARB_vertex_attrib_64bit
:display:gsg:glgsg(debug): GL_ARB_vertex_buffer_object
:display:gsg:glgsg(debug): GL_ARB_vertex_program
:display:gsg:glgsg(debug): GL_ARB_vertex_shader
:display:gsg:glgsg(debug): GL_ARB_vertex_type_2_10_10_10_rev
:display:gsg:glgsg(debug): GL_ARB_viewport_array
:display:gsg:glgsg(debug): GL_ARB_window_pos
:display:gsg:glgsg(debug): GL_ATI_draw_buffers
:display:gsg:glgsg(debug): GL_ATI_envmap_bumpmap
:display:gsg:glgsg(debug): GL_ATI_fragment_shader
:display:gsg:glgsg(debug): GL_ATI_separate_stencil
:display:gsg:glgsg(debug): GL_ATI_texture_compression_3dc
:display:gsg:glgsg(debug): GL_ATI_texture_env_combine3
:display:gsg:glgsg(debug): GL_ATI_texture_float
:display:gsg:glgsg(debug): GL_ATI_texture_mirror_once
:display:gsg:glgsg(debug): GL_EXT_abgr
:display:gsg:glgsg(debug): GL_EXT_bgra
:display:gsg:glgsg(debug): GL_EXT_bindable_uniform
:display:gsg:glgsg(debug): GL_EXT_blend_color
:display:gsg:glgsg(debug): GL_EXT_blend_equation_separate
:display:gsg:glgsg(debug): GL_EXT_blend_func_separate
:display:gsg:glgsg(debug): GL_EXT_blend_minmax
:display:gsg:glgsg(debug): GL_EXT_blend_subtract
:display:gsg:glgsg(debug): GL_EXT_compiled_vertex_array
:display:gsg:glgsg(debug): GL_EXT_copy_buffer
:display:gsg:glgsg(debug): GL_EXT_copy_texture
:display:gsg:glgsg(debug): GL_EXT_depth_bounds_test
:display:gsg:glgsg(debug): GL_EXT_direct_state_access
:display:gsg:glgsg(debug): GL_EXT_draw_buffers2
:display:gsg:glgsg(debug): GL_EXT_draw_instanced
:display:gsg:glgsg(debug): GL_EXT_draw_range_elements
:display:gsg:glgsg(debug): GL_EXT_fog_coord
:display:gsg:glgsg(debug): GL_EXT_framebuffer_blit
:display:gsg:glgsg(debug): GL_EXT_framebuffer_multisample
:display:gsg:glgsg(debug): GL_EXT_framebuffer_object
:display:gsg:glgsg(debug): GL_EXT_framebuffer_sRGB
:display:gsg:glgsg(debug): GL_EXT_geometry_shader4
:display:gsg:glgsg(debug): GL_EXT_gpu_program_parameters
:display:gsg:glgsg(debug): GL_EXT_gpu_shader4
:display:gsg:glgsg(debug): GL_EXT_histogram
:display:gsg:glgsg(debug): GL_EXT_multi_draw_arrays
:display:gsg:glgsg(debug): GL_EXT_packed_depth_stencil
:display:gsg:glgsg(debug): GL_EXT_packed_float
:display:gsg:glgsg(debug): GL_EXT_packed_pixels
:display:gsg:glgsg(debug): GL_EXT_pixel_buffer_object
:display:gsg:glgsg(debug): GL_EXT_point_parameters
:display:gsg:glgsg(debug): GL_EXT_provoking_vertex
:display:gsg:glgsg(debug): GL_EXT_rescale_normal
:display:gsg:glgsg(debug): GL_EXT_secondary_color
:display:gsg:glgsg(debug): GL_EXT_separate_specular_color
:display:gsg:glgsg(debug): GL_EXT_shader_image_load_store
:display:gsg:glgsg(debug): GL_EXT_shadow_funcs
:display:gsg:glgsg(debug): GL_EXT_stencil_wrap
:display:gsg:glgsg(debug): GL_EXT_subtexture
:display:gsg:glgsg(debug): GL_EXT_texgen_reflection
:display:gsg:glgsg(debug): GL_EXT_texture3D
:display:gsg:glgsg(debug): GL_EXT_texture_array
:display:gsg:glgsg(debug): GL_EXT_texture_buffer_object
:display:gsg:glgsg(debug): GL_EXT_texture_compression_bptc
:display:gsg:glgsg(debug): GL_EXT_texture_compression_latc
:display:gsg:glgsg(debug): GL_EXT_texture_compression_rgtc
:display:gsg:glgsg(debug): GL_EXT_texture_compression_s3tc
:display:gsg:glgsg(debug): GL_EXT_texture_cube_map
:display:gsg:glgsg(debug): GL_EXT_texture_edge_clamp
:display:gsg:glgsg(debug): GL_EXT_texture_env_add
:display:gsg:glgsg(debug): GL_EXT_texture_env_combine
:display:gsg:glgsg(debug): GL_EXT_texture_env_dot3
:display:gsg:glgsg(debug): GL_EXT_texture_filter_anisotropic
:display:gsg:glgsg(debug): GL_EXT_texture_integer
:display:gsg:glgsg(debug): GL_EXT_texture_lod
:display:gsg:glgsg(debug): GL_EXT_texture_lod_bias
:display:gsg:glgsg(debug): GL_EXT_texture_mirror_clamp
:display:gsg:glgsg(debug): GL_EXT_texture_object
:display:gsg:glgsg(debug): GL_EXT_texture_rectangle
:display:gsg:glgsg(debug): GL_EXT_texture_sRGB
:display:gsg:glgsg(debug): GL_EXT_texture_sRGB_decode
:display:gsg:glgsg(debug): GL_EXT_texture_shared_exponent
:display:gsg:glgsg(debug): GL_EXT_texture_snorm
:display:gsg:glgsg(debug): GL_EXT_texture_storage
:display:gsg:glgsg(debug): GL_EXT_texture_swizzle
:display:gsg:glgsg(debug): GL_EXT_timer_query
:display:gsg:glgsg(debug): GL_EXT_transform_feedback
:display:gsg:glgsg(debug): GL_EXT_vertex_array
:display:gsg:glgsg(debug): GL_EXT_vertex_array_bgra
:display:gsg:glgsg(debug): GL_EXT_vertex_attrib_64bit
:display:gsg:glgsg(debug): GL_IBM_texture_mirrored_repeat
:display:gsg:glgsg(debug): GL_KTX_buffer_region
:display:gsg:glgsg(debug): GL_NV_blend_square
:display:gsg:glgsg(debug): GL_NV_conditional_render
:display:gsg:glgsg(debug): GL_NV_copy_depth_to_color
:display:gsg:glgsg(debug): GL_NV_copy_image
:display:gsg:glgsg(debug): GL_NV_explicit_multisample
:display:gsg:glgsg(debug): GL_NV_float_buffer
:display:gsg:glgsg(debug): GL_NV_half_float
:display:gsg:glgsg(debug): GL_NV_primitive_restart
:display:gsg:glgsg(debug): GL_NV_texgen_reflection
:display:gsg:glgsg(debug): GL_NV_texture_barrier
:display:gsg:glgsg(debug): GL_SGIS_generate_mipmap
:display:gsg:glgsg(debug): GL_SGIS_texture_edge_clamp
:display:gsg:glgsg(debug): GL_SGIS_texture_lod
:display:gsg:glgsg(debug): GL_SUN_multi_draw_arrays
:display:gsg:glgsg(debug): GL_WIN_swap_hint
:display:gsg:glgsg(debug): WGL_AMDX_gpu_association
:display:gsg:glgsg(debug): WGL_AMD_gpu_association
:display:gsg:glgsg(debug): WGL_ARB_buffer_region
:display:gsg:glgsg(debug): WGL_ARB_create_context
:display:gsg:glgsg(debug): WGL_ARB_create_context_profile
:display:gsg:glgsg(debug): WGL_ARB_extensions_string
:display:gsg:glgsg(debug): WGL_ARB_make_current_read
:display:gsg:glgsg(debug): WGL_ARB_multisample
:display:gsg:glgsg(debug): WGL_ARB_pbuffer
:display:gsg:glgsg(debug): WGL_ARB_pixel_format
:display:gsg:glgsg(debug): WGL_ARB_pixel_format_float
:display:gsg:glgsg(debug): WGL_ARB_render_texture
:display:gsg:glgsg(debug): WGL_ATI_pixel_format_float
:display:gsg:glgsg(debug): WGL_ATI_render_texture_rectangle
:display:gsg:glgsg(debug): WGL_EXT_extensions_string
:display:gsg:glgsg(debug): WGL_EXT_framebuffer_sRGB
:display:gsg:glgsg(debug): WGL_EXT_pixel_format_packed_float
:display:gsg:glgsg(debug): WGL_EXT_swap_control
:display:gsg:glgsg(debug): WGL_EXT_swap_control_tear
:display:gsg:glgsg(debug): WGL_I3D_genlock
:display:gsg:glgsg(debug): WGL_NV_DX_interop
:display:gsg:glgsg(debug): WGL_NV_DX_interop2
:display:gsg:glgsg(debug): WGL_NV_float_buffer
:display:gsg:glgsg(debug): WGL_NV_swap_group
:display:gsg:glgsg(debug): HAS EXT GL_ARB_point_sprite 1
:display:gsg:glgsg(debug): HAS EXT GL_ARB_vertex_blend 0
:display:gsg:glgsg(debug): HAS EXT GL_ARB_matrix_palette 0
:display:gsg:glgsg(debug): HAS EXT GL_ARB_depth_texture 1
:display:gsg:glgsg(debug): HAS EXT GL_EXT_packed_depth_stencil 1
:display:gsg:glgsg(debug): HAS EXT GL_EXT_texture_array 1
:display:gsg:glgsg(debug): HAS EXT GL_ARB_texture_cube_map 1
:display:gsg:glgsg(debug): HAS EXT GL_EXT_bgra 1
:display:gsg:glgsg(debug): HAS EXT GL_EXT_rescale_normal 1
:display:gsg:glgsg(debug): HAS EXT GL_ARB_multisample 1
:display:gsg:glgsg(debug): HAS EXT GL_SGIS_generate_mipmap 1
:display:gsg:glgsg(debug): HAS EXT GL_ARB_texture_non_power_of_two 1
:display:gsg:glgsg(debug): HAS EXT GL_ARB_depth_texture 1
:display:gsg:glgsg(debug): HAS EXT GL_ARB_shadow 1
:display:gsg:glgsg(debug): HAS EXT GL_ARB_fragment_program_shadow 1
:display:gsg:glgsg(debug): HAS EXT GL_ARB_texture_env_combine 1
:display:gsg:glgsg(debug): HAS EXT GL_ARB_texture_env_crossbar 1
:display:gsg:glgsg(debug): HAS EXT GL_ARB_texture_env_dot3 1
:display:gsg:glgsg(debug): HAS EXT GL_ATI_draw_buffers 1
:display:gsg:glgsg(debug): HAS EXT GL_EXT_geometry_shader4 1
:display:gsg:glgsg(debug): HAS EXT GL_EXT_framebuffer_object 1
:display:gsg:glgsg(debug): HAS EXT GL_EXT_framebuffer_multisample 1
:display:gsg:glgsg(debug): HAS EXT GL_NV_framebuffer_multisample_coverage 0
:display:gsg:glgsg(debug): HAS EXT GL_EXT_framebuffer_blit 1
:display:gsg:glgsg(debug): Occlusion query counter provides 32 bits.
:display:gsg:glgsg(debug): HAS EXT GL_SGIS_texture_edge_clamp 1
:display:gsg:glgsg(debug): HAS EXT GL_ARB_texture_border_clamp 1
:display:gsg:glgsg(debug): HAS EXT GL_ARB_texture_mirrored_repeat 1
:display:gsg:glgsg(debug): HAS EXT GL_EXT_texture_mirror_clamp 1
:display:gsg:glgsg(debug): max texture dimension = 16384, max 3d texture = 8192, max 2d texture array = 8192, max cube map = 16384
:display:gsg:glgsg(debug): max_elements_vertices = 2147483647, max_elements_indices = 16777215
:display:gsg:glgsg(debug): vertex buffer objects are supported.
:display:gsg:glgsg(debug): Supported compressed texture formats:
  Unknown compressed format 0x84ed
  Unknown compressed format 0x84ee
  Unknown compressed format 0x8c48
  Unknown compressed format 0x8c49
  Unknown compressed format 0x8e8c
  Unknown compressed format 0x8e8d
  Unknown compressed format 0x8e8e
  Unknown compressed format 0x8e8f
  GL_COMPRESSED_RGB_S3TC_DXT1_EXT
  GL_COMPRESSED_RGBA_S3TC_DXT1_EXT
  GL_COMPRESSED_RGBA_S3TC_DXT3_EXT
  GL_COMPRESSED_RGBA_S3TC_DXT5_EXT
  Unknown compressed format 0x8c4c
  Unknown compressed format 0x8c4d
  Unknown compressed format 0x8c4e
  Unknown compressed format 0x8c4f
  Unknown compressed format 0x83a0
  Unknown compressed format 0x83a1
  Unknown compressed format 0x83a2
  Unknown compressed format 0x83a3
:display:gsg:glgsg(debug): HAS EXT GL_EXT_texture_filter_anisotropic 1
:display:gsg:glgsg(debug): HAS EXT GL_EXT_stencil_wrap 1
:display:gsg:glgsg(debug): HAS EXT GL_EXT_stencil_two_side 0
:display:gsg:glgsg(debug): HAS EXT GL_ARB_draw_instanced 1
:display:gsg:glgsg(debug): max lights = 8
:display:gsg:glgsg(debug): max clip planes = 8
:display:gsg:glgsg(debug): max texture stages = 8
:display:gsg:glgsg(debug): 
Cg vertex profile = arbvp1  id = 6150
Cg pixel profile = arbfp1  id = 7000
shader model = 4
:display:gsg:glgsg(debug): HAS EXT WGL_EXT_swap_control 1
:display:gsg:glgsg(debug): HAS EXT WGL_ARB_pbuffer 1
:display:gsg:glgsg(debug): HAS EXT WGL_ARB_pixel_format 1
:display:gsg:glgsg(debug): HAS EXT WGL_ARB_multisample 1
:display:gsg:glgsg(debug): HAS EXT WGL_ARB_render_texture 1
:display:gsg:glgsg(debug): Got NULL image: water
:display:gsg:glgsg(debug): loading uncompressed texture water
:display:gsg:glgsg(debug): Not loading NULL image water
:display:gsg:glgsg(debug): loading new texture object, 512 x 512 x 1, mipmaps 0, uses_mipmaps = 1
:display:gsg:glgsg(debug): loading uncompressed texture t_south
:display:gsg:glgsg(debug): loading new texture object, 512 x 512 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture t_north
:display:gsg:glgsg(debug): loading new texture object, 512 x 512 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture t_west
:display:gsg:glgsg(debug): loading new texture object, 512 x 512 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture down
:display:gsg:glgsg(debug): loading new texture object, 512 x 512 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture t_up
:display:gsg:glgsg(debug): loading new texture object, 512 x 512 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture t_east
:display:gsg:glgsg(debug): loading new texture object, 512 x 512 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture grass1
:display:gsg:glgsg(debug): loading new texture object, 256 x 256 x 1, mipmaps 1, uses_mipmaps = 1
:display:gsg:glgsg(debug): loading uncompressed texture grass1-dry
:display:gsg:glgsg(debug): loading new texture object, 256 x 256 x 1, mipmaps 1, uses_mipmaps = 1
:display:gsg:glgsg(debug): loading uncompressed texture grass1-lush
:display:gsg:glgsg(debug): loading new texture object, 256 x 256 x 1, mipmaps 1, uses_mipmaps = 1
:display:gsg:glgsg(debug): loading uncompressed texture rock2
:display:gsg:glgsg(debug): loading new texture object, 256 x 256 x 1, mipmaps 1, uses_mipmaps = 1
:display:gsg:glgsg(debug): loading uncompressed texture rock2b
:display:gsg:glgsg(debug): loading new texture object, 256 x 256 x 1, mipmaps 1, uses_mipmaps = 1
:display:gsg:glgsg(debug): loading uncompressed texture rocks1-grey
:display:gsg:glgsg(debug): loading new texture object, 256 x 256 x 1, mipmaps 1, uses_mipmaps = 1
:display:gsg:glgsg(debug): loading uncompressed texture yellowsand1
:display:gsg:glgsg(debug): loading new texture object, 256 x 256 x 1, mipmaps 1, uses_mipmaps = 1
:display:gsg:glgsg(debug): loading uncompressed texture TerrainWaterTest_Alpha_1
:display:gsg:glgsg(debug): loading new texture object, 512 x 512 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture TerrainWaterTest_Alpha_2
:display:gsg:glgsg(debug): loading new texture object, 512 x 512 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture TerrainWaterTest_Alpha_3
:display:gsg:glgsg(debug): loading new texture object, 512 x 512 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture TerrainWaterTest_Alpha_4
:display:gsg:glgsg(debug): loading new texture object, 512 x 512 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture TerrainWaterTest_Alpha_5
:display:gsg:glgsg(debug): loading new texture object, 512 x 512 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture TerrainWaterTest_Alpha_6
:display:gsg:glgsg(debug): loading new texture object, 512 x 512 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture TerrainWaterTest_Alpha_7
:display:gsg:glgsg(debug): loading new texture object, 512 x 512 x 1, mipmaps 1, uses_mipmaps = 0
:display:gsg:glgsg(debug): loading uncompressed texture TerrainWaterTest_Alpha_8
:display:gsg:glgsg(debug): loading new texture object, 512 x 512 x 1, mipmaps 1, uses_mipmaps = 0

Are you sure you’re running 1.8.1? You’re only able to get the list of profiles in 1.8.1 that way.

Also, make sure that you have “basic-shaders-only #f” in Config.prc.

i just installed 1.8.1 and uninstallen 1.8.0 so i am running in on the correct version. “basic-shaders-only #f” is also set correctly.

Im just running it normally, so not in any kind of debug mode, thats correct?

I am getting the line ‘GL_VERSION = 4.2.12171 Compatibility Profile Context 12.100.17.0, decoded to 4.2’. But thats not what we are looking for?

It’s should be something like this

Nope, not getting it. Tried moving the line ‘notify-level-glgsg debug’ around in the config.prc file, tried deactivating all shaders, tried running other files (for instance the pacing panda example) etc. The only thing slightly related i can find from the text is the part saying what profiles are currently used.

Cg vertex profile = arbvp1  id = 6150
Cg pixel profile = arbfp1  id = 7000

These profiles do indeed not change when i add these lines to the top of the shader

//Cg
//Cg profile glslv glslg

It’s strange, but I pretty sure that it’s the problem with “Cg and non-nvidia”, so you should wait for fix or rewrite shader in glsl.

Well, these lines:

indicate that the Cg runtime deems arbvp1 and arbfp1 to be the ‘best’ profiles for your system, which means that the Cg runtime is lying. 1.8.2 will contain some code that may help to fix this by overriding the Cg runtime’s judgement about what the best profile is.

The profile line should be “glslv glslf”. glslg would be for geometry shaders.

Actually, I think I’m going to back this “fix” out of 1.8.2. The glslv/glslf profiles are horribly broken on AMD cards. Until we can figure out a workaround, it’s better to have a shader with limited functionality than one that is completely broken.

In light of this, I declare Cg to be a bad choice for any but the simplest of shader effects.