Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / GL_EXT_texture_array и Intel

GL_EXT_texture_array и Intel

Страницы: 1 2 Следующая »
g-contПостоялецwww14 июня 201820:49#0
Проверяем расширение на Интелах. Он говорит, всё путём, есть такое. Хорошо, добавляем в шейдер

#extension GL_EXT_texture_array : require

При компиляции этого шейдера выдаётся занятное сообщение "extension 'GL_EXT_texture_array' is not supported".
Что можно сделать с этим дерьмом? Может ему GL_ARB_texture_array хочется? Ну или как понять, что на деле расширение не поддерживается?

innuendoПостоялецwww14 июня 201823:09#1
список в студию
g-contПостоялецwww15 июня 201815:03#2
Навскидку HD Graphics 3000
Вторая карточка отмечается просто как HD Graphics без номера.
innuendoПостоялецwww15 июня 201815:05#3
g-cont

список расширений же

g-contПостоялецwww15 июня 201816:34#4
innuendo
Список чуть позже. Засада в том, что мультислойные текстуры ими прекрасно грузятся, ошибка именно при компиляции шейдера. М.б. им хочется непременно GL_ARB_texture_array?
innuendoПостоялецwww15 июня 201816:44#5
может версию задать ?
g-contПостоялецwww15 июня 201818:42#6
Версия задана, 120. Может наоборот убрать?
g-contПостоялецwww15 июня 201821:57#7
Чуть более подробная инфа по HD 3000:
GL_VENDOR: Intel
GL_RENDERER: Intel(R) HD Graphics 3000
GL_VERSION: 3.1.0 - Build 9.17.10.4229
GL_EXTENSIONS: GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_blend_color GL_EXT_abgr GL_EXT_texture3D GL_EXT_clip_volume_hint GL_EXT_compiled_vertex_array GL_SGIS_texture_edge_clamp GL_SGIS_generate_mipmap GL_EXT_draw_range_elements GL_SGIS_texture_lod GL_EXT_rescale_normal GL_EXT_packed_pixels GL_EXT_texture_edge_clamp GL_EXT_separate_specular_color GL_ARB_multitexture GL_EXT_texture_env_combine GL_EXT_bgra GL_EXT_blend_func_separate GL_EXT_secondary_color GL_EXT_fog_coord GL_EXT_texture_env_add GL_ARB_texture_cube_map GL_ARB_transpose_matrix GL_ARB_texture_env_add GL_IBM_texture_mirrored_repeat GL_EXT_multi_draw_arrays GL_NV_blend_square GL_ARB_texture_compression GL_3DFX_texture_compression_FXT1 GL_EXT_texture_filter_anisotropic GL_ARB_texture_border_clamp GL_ARB_point_parameters GL_ARB_texture_env_combine GL_ARB_texture_env_dot3 GL_ARB_texture_env_crossbar GL_EXT_texture_compression_s3tc GL_ARB_shadow GL_ARB_window_pos GL_EXT_shadow_funcs GL_EXT_stencil_wrap GL_ARB_vertex_program GL_EXT_texture_rectangle GL_ARB_fragment_program GL_EXT_stencil_two_side GL_ATI_separate_stencil GL_ARB_vertex_buffer_object GL_EXT_texture_lod_bias GL_ARB_occlusion_query GL_ARB_fragment_shader GL_ARB_shader_objects GL_ARB_shading_language_100 GL_ARB_texture_non_power_of_two GL_ARB_vertex_shader GL_NV_texgen_reflection GL_ARB_point_sprite GL_ARB_fragment_program_shadow GL_EXT_blend_equation_separate GL_ARB_depth_texture GL_ARB_texture_rectangle GL_ARB_draw_buffers GL_ARB_color_buffer_float GL_ARB_half_float_pixel GL_ARB_texture_float GL_ARB_pixel_buffer_object GL_EXT_framebuffer_object GL_ARB_draw_instanced GL_ARB_half_float_vertex GL_ARB_occlusion_query2 GL_EXT_draw_buffers2 GL_WIN_swap_hint GL_EXT_texture_sRGB GL_ARB_multisample GL_EXT_packed_float GL_EXT_texture_shared_exponent GL_ARB_texture_rg GL_ARB_texture_compression_rgtc GL_NV_conditional_render GL_EXT_texture_swizzle GL_ARB_sync GL_ARB_framebuffer_sRGB GL_EXT_packed_depth_stencil GL_ARB_depth_buffer_float GL_EXT_transform_feedback GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_ARB_framebuffer_object GL_EXT_texture_array GL_EXT_texture_integer GL_ARB_map_buffer_range GL_EXT_texture_snorm GL_INTEL_performance_queries GL_ARB_copy_buffer GL_ARB_sampler_objects GL_NV_primitive_restart GL_ARB_seamless_cube_map GL_ARB_uniform_buffer_object GL_ARB_depth_clamp GL_ARB_vertex_array_bgra GL_ARB_shader_bit_encoding GL_ARB_draw_buffers_blend GL_ARB_texture_query_lod GL_ARB_explicit_attrib_location GL_ARB_draw_elements_base_vertex GL_ARB_instanced_arrays GL_ARB_fragment_coord_conventions GL_EXT_gpu_program_parameters GL_ARB_texture_buffer_object_rgb32 GL_ARB_compatibility GL_ARB_texture_rgb10_a2ui GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_timer_query GL_INTEL_map_texture GL_ARB_vertex_array_object GL_ARB_provoking_vertex

Как видно GL_EXT_texture_array поддерживается. И сами мультислойные текстуры грузятся. А в шейдере - Not supported. Это такая шутка Интела, которую программистам не понять.

g-contПостоялецwww15 июня 201822:02#8
Немного инфы по теме нашёл: https://mailman.sydney.edu.au/pipermail/gplates-discuss/2013-June/000078.html
kiparУчастникwww15 июня 201822:03#9
g-cont
GL_EXT_texture_array в Core начиная с 3.0, и не поддерживается если использовать FFP. Поэтому с точки зрения Интел все логично - если ты спрашиваешь о том что поддерживается ли оно, значит ты используешь функционал из FFP, значит оно не поддерживается.
innuendoПостоялецwww15 июня 201823:29#10
kipar
> ты спрашиваешь о том что поддерживается ли оно,

require переводится как поддерживается ?

g-cont

хотя, попробуй без  require :)

MrShoorУчастникwww15 июня 201823:31#11
kipar
> если ты спрашиваешь о том что поддерживается ли оно, значит ты используешь
> функционал из FFP, значит оно не поддерживается.
Ошибка тут. Если я спрашиваю экстеншн - это вовсе не значит, что я использую FFP или функционал из FFP.

g-cont
У интела (особенно у старых железок) местами отбитая логика по предоставлению экстеншнов. Я например не один раз напарывался на штуки типа:
1. Функционал есть в Core контексте, но этого же функционала нет в экстеншнах вообще.
2. Заявляют, что экстеншн есть, при этом когда начинаешь просить функции экстеншна, то для части функций wglGetProcAddress возвращает nullptr

Но вроде бы с Core контекстами у них было более менее. Поэтому для себя я выработал такую тактику. Сначала запрашиваю Core Context из максимально возможного, нужного мне. Потом добиваю это добро экстеншнами если надо. Самое грустное конечно в этом деле - шейдера совместимые писать.

innuendoПостоялецwww15 июня 201823:31#12
g-cont
> GL_INTEL_performance_queries

забавная штука

DelfigamerПостоялецwww15 июня 201823:39#13
MrShoor
> Но вроде бы с Core контекстами у них было более менее. Поэтому для себя я
> выработал такую тактику. Сначала запрашиваю Core Context из максимально
> возможного, нужного мне. Потом добиваю это добро экстеншнами если надо. Самое
> грустное конечно в этом деле - шейдера совместимые писать.
А какой смысл использовать Compatibility в новом коде? Или речь идёт про другие коровы?

Правка: 15 июня 2018 23:40

g-contПостоялецwww15 июня 201823:48#14
MrShoor
Если в строке экстеншен есть, а адреса не возвращает, это еще полбеды, всякое случается. Но вот такой прикол с шейдером вижу впервые.
Да и в той переписке что я приводил рекомендуется просто обновить драйвера. Подождем результатов обновления.
Страницы: 1 2 Следующая »

/ Форум / Программирование игр / Графика

2001—2018 © GameDev.ru — Разработка игр