free(screen->ro);
if (using_v3d_simulator)
- v3d_simulator_destroy(screen);
+ v3d_simulator_destroy(screen->sim_file);
v3d_compiler_free(screen->compiler);
u_transfer_helper_destroy(pscreen->transfer_helper);
case PIPE_CAP_FRAGMENT_SHADER_TEXTURE_LOD:
case PIPE_CAP_FRAGMENT_SHADER_DERIVATIVES:
case PIPE_CAP_VERTEX_SHADER_SATURATE:
- case PIPE_CAP_TEXTURE_QUERY_LOD:
- case PIPE_CAP_PRIMITIVE_RESTART:
+ case PIPE_CAP_PRIMITIVE_RESTART_FIXED_INDEX:
case PIPE_CAP_OCCLUSION_QUERY:
case PIPE_CAP_POINT_SPRITE:
case PIPE_CAP_STREAM_OUTPUT_PAUSE_RESUME:
case PIPE_CAP_TEXTURE_HALF_FLOAT_LINEAR:
case PIPE_CAP_FRAMEBUFFER_NO_ATTACHMENT:
case PIPE_CAP_TGSI_FS_FACE_IS_INTEGER_SYSVAL:
+ case PIPE_CAP_TGSI_TEXCOORD:
return 1;
+ case PIPE_CAP_TEXTURE_QUERY_LOD:
+ return screen->devinfo.ver >= 42;
+ break;
+
case PIPE_CAP_PACKED_UNIFORMS:
/* We can't enable this flag, because it results in load_ubo
* intrinsics across a 16b boundary, but v3d's TMU general
case PIPE_SHADER_CAP_INTEGERS:
return 1;
case PIPE_SHADER_CAP_FP16:
+ case PIPE_SHADER_CAP_FP16_DERIVATIVES:
+ case PIPE_SHADER_CAP_INT16:
case PIPE_SHADER_CAP_TGSI_DROUND_SUPPORTED:
case PIPE_SHADER_CAP_TGSI_DFRACEXP_DLDEXP_SUPPORTED:
case PIPE_SHADER_CAP_TGSI_LDEXP_SUPPORTED:
screen->bo_handles = util_hash_table_create_ptr_keys();
#if defined(USE_V3D_SIMULATOR)
- v3d_simulator_init(screen);
+ screen->sim_file = v3d_simulator_init(screen->fd);
#endif
if (!v3d_get_device_info(screen->fd, &screen->devinfo, &v3d_ioctl))