Advertisement
Conmanx360

Untitled

Jul 16th, 2018
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. if (texture->resource.format_flags & WINED3DFMT_FLAG_DECOMPRESS)
  2. {
  3. unsigned int dst_row_pitch, dst_slice_pitch;
  4. void *src_mem;
  5.  
  6. f = *format;
  7. f.byte_count = 4;
  8. f.flags[WINED3D_GL_RES_TYPE_TEX_2D] &= ~WINED3DFMT_FLAG_BLOCKS;
  9. format = &f;
  10.  
  11. wined3d_format_calculate_pitch(format, 1, update_w, update_h, &dst_row_pitch, &dst_slice_pitch);
  12.  
  13. if (!(converted_mem = heap_calloc(update_d, dst_slice_pitch)))
  14. {
  15. ERR("Failed to allocate upload buffer.\n");
  16. return;
  17. }
  18. src_mem = context_map_bo_address(context, &bo, src_slice_pitch,
  19. GL_PIXEL_UNPACK_BUFFER, WINED3D_MAP_READ);
  20. format->decompress(src_mem, converted_mem, src_row_pitch, src_slice_pitch,
  21. dst_row_pitch, dst_slice_pitch, update_w, update_h, update_d);
  22. context_unmap_bo_address(context, &bo, GL_PIXEL_UNPACK_BUFFER);
  23.  
  24. bo.buffer_object = 0;
  25. bo.addr = converted_mem;
  26. src_row_pitch = dst_row_pitch;
  27. src_slice_pitch = dst_slice_pitch;
  28. format = wined3d_get_format(gl_info, WINED3DFMT_B8G8R8A8_UNORM, WINED3DUSAGE_TEXTURE);
  29. texture->resource.format_flags &= ~WINED3DFMT_FLAG_BLOCKS;
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement