hardware/intel/intel-driver
Revisión | 9b3ad194a7bd024c0e088cb789d1ee19f2959a4a (tree) |
---|---|
Tiempo | 2014-12-14 01:26:32 |
Autor | Zhao Yakui <yakui.zhao@inte...> |
Commiter | Xiang, Haihao |
SKL: Add the Render_SURFACE_STATE for SKL
This is based on the hardware spec.
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
(cherry picked from commit 1a5d7fa7c3a7a3c9a14ccf2adb1b7687adde6f96)
@@ -1294,6 +1294,130 @@ struct gen9_surface_state2 | ||
1294 | 1294 | } ss7; |
1295 | 1295 | }; |
1296 | 1296 | |
1297 | +struct gen9_surface_state | |
1298 | +{ | |
1299 | + struct { | |
1300 | + unsigned int pad0:6; | |
1301 | + unsigned int media_boundary_pixel_mode:2; | |
1302 | + unsigned int render_cache_read_write:1; | |
1303 | + unsigned int sampler_l2bypass_disable:1; | |
1304 | + unsigned int vert_line_stride_ofs:1; | |
1305 | + unsigned int vert_line_stride:1; | |
1306 | + unsigned int tile_walk:1; | |
1307 | + unsigned int tiled_surface:1; | |
1308 | + unsigned int horizontal_alignment:2; | |
1309 | + /* Field 16 */ | |
1310 | + unsigned int vertical_alignment:2; | |
1311 | + unsigned int surface_format:9; /**< BRW_SURFACEFORMAT_x */ | |
1312 | + unsigned int astc_enable:1; | |
1313 | + unsigned int is_array:1; | |
1314 | + unsigned int surface_type:3; /**< BRW_SURFACE_1D/2D/3D/CUBE */ | |
1315 | + } ss0; | |
1316 | + | |
1317 | + struct { | |
1318 | + unsigned int surface_qpitch:15; | |
1319 | + unsigned int pad0:4; | |
1320 | + unsigned int base_mip_level:5; | |
1321 | + unsigned int surface_mocs:7; | |
1322 | + unsigned int pad1:1; | |
1323 | + } ss1; | |
1324 | + | |
1325 | + struct { | |
1326 | + unsigned int width:14; | |
1327 | + unsigned int pad0:2; | |
1328 | + unsigned int height:14; | |
1329 | + unsigned int pad1:2; | |
1330 | + } ss2; | |
1331 | + | |
1332 | + struct { | |
1333 | + unsigned int pitch:18; | |
1334 | + unsigned int pad:3; | |
1335 | + unsigned int depth:11; | |
1336 | + } ss3; | |
1337 | + | |
1338 | + struct { | |
1339 | + unsigned int multisample_position_palette_index:3; | |
1340 | + unsigned int num_multisamples:3; | |
1341 | + unsigned int multisampled_surface_storage_format:1; | |
1342 | + unsigned int render_target_view_extent:11; | |
1343 | + unsigned int min_array_elt:11; | |
1344 | + unsigned int rotation:2; | |
1345 | + unsigned int force_ncmp_reduce_type:1; | |
1346 | + } ss4; | |
1347 | + | |
1348 | + struct { | |
1349 | + unsigned int mip_count:4; | |
1350 | + unsigned int min_lod:4; | |
1351 | + unsigned int miptail_start_lod:4; | |
1352 | + unsigned int pad0:2; | |
1353 | + unsigned int coherence_type:1; | |
1354 | + unsigned int pad1:3; | |
1355 | + unsigned int tr_mode:2; | |
1356 | + unsigned int ewa_disable_cube:1; | |
1357 | + unsigned int y_offset:3; | |
1358 | + unsigned int pad2:1; | |
1359 | + unsigned int x_offset:7; | |
1360 | + } ss5; | |
1361 | + | |
1362 | + struct { | |
1363 | + unsigned int y_offset_uv_plane:14; | |
1364 | + unsigned int pad0:2; | |
1365 | + unsigned int x_offset_uv_plane:14; | |
1366 | + unsigned int pad1:1; | |
1367 | + unsigned int separate_uv_plane:1; | |
1368 | + } ss6; | |
1369 | + | |
1370 | + struct { | |
1371 | + unsigned int resource_min_lod:12; | |
1372 | + unsigned int pad0:4; | |
1373 | + unsigned int shader_chanel_select_a:3; | |
1374 | + unsigned int shader_chanel_select_b:3; | |
1375 | + unsigned int shader_chanel_select_g:3; | |
1376 | + unsigned int shader_chanel_select_r:3; | |
1377 | + unsigned int pad1:2; | |
1378 | + unsigned int memory_compression_enable:1; | |
1379 | + unsigned int memory_compression_mode:1; | |
1380 | + } ss7; | |
1381 | + | |
1382 | + struct { | |
1383 | + unsigned int base_addr; | |
1384 | + } ss8; | |
1385 | + | |
1386 | + struct { | |
1387 | + unsigned int base_addr_high; | |
1388 | + } ss9; | |
1389 | + | |
1390 | + struct { | |
1391 | + unsigned int quilt_width:5; | |
1392 | + unsigned int quilt_height:5; | |
1393 | + unsigned int pad0:6; | |
1394 | + unsigned int pad1:16; | |
1395 | + } ss10; | |
1396 | + | |
1397 | + struct { | |
1398 | + unsigned int y_offset_v_plane:14; | |
1399 | + unsigned int pad0:2; | |
1400 | + unsigned int x_offset_v_plane:14; | |
1401 | + unsigned int pad1:2; | |
1402 | + } ss11; | |
1403 | + | |
1404 | + struct { | |
1405 | + unsigned int pad0; | |
1406 | + } ss12; | |
1407 | + | |
1408 | + struct { | |
1409 | + unsigned int pad0; | |
1410 | + } ss13; | |
1411 | + | |
1412 | + struct { | |
1413 | + unsigned int pad0; | |
1414 | + } ss14; | |
1415 | + | |
1416 | + struct { | |
1417 | + unsigned int pad0; | |
1418 | + } ss15; | |
1419 | +}; | |
1420 | + | |
1297 | 1421 | struct gen8_sampler_state |
1298 | 1422 | { |
1299 | 1423 | struct |
@@ -2087,4 +2211,8 @@ struct gen8_sampler_8x8_avs { | ||
2087 | 2211 | #define SURFACE_STATE_PADDED_SIZE_1_GEN8 ALIGN(sizeof(struct gen8_surface_state2), 32) |
2088 | 2212 | #define SURFACE_STATE_PADDED_SIZE_GEN8 MAX(SURFACE_STATE_PADDED_SIZE_0_GEN8, SURFACE_STATE_PADDED_SIZE_1_GEN8) |
2089 | 2213 | |
2214 | +#define SURFACE_STATE_PADDED_SIZE_0_GEN9 ALIGN(sizeof(struct gen9_surface_state), 32) | |
2215 | +#define SURFACE_STATE_PADDED_SIZE_1_GEN9 ALIGN(sizeof(struct gen9_surface_state2), 32) | |
2216 | +#define SURFACE_STATE_PADDED_SIZE_GEN9 MAX(SURFACE_STATE_PADDED_SIZE_0_GEN9, SURFACE_STATE_PADDED_SIZE_1_GEN9) | |
2217 | + | |
2090 | 2218 | #endif /* _I965_STRUCTS_H_ */ |