Guest User

Untitled

a guest
Dec 10th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1. void rsxSetTransferScaleSurface(gcmContextData *context,const gcmTransferScale *scale,const gcmTransferSurface *surface)
  2. {
  3. RSX_CONTEXT_CURRENT_BEGIN(20);
  4.  
  5. RSX_CONTEXT_CURRENTP[0] = RSX_SUBCHANNEL_METHOD(3,NV04_CONTEXT_SURFACES_2D_FORMAT,4);
  6. RSX_CONTEXT_CURRENTP[1] = surface->format;
  7. RSX_CONTEXT_CURRENTP[2] = ((surface->pitch << 16) | 0x40); // or'ing with 64 - why?
  8. RSX_CONTEXT_CURRENTP[3] = 0;
  9. RSX_CONTEXT_CURRENTP[4] = surface->offset;
  10.  
  11. RSX_CONTEXT_CURRENTP[5] = RSX_SUBCHANNEL_METHOD(6,NV03_STRETCHED_IMAGE_FROM_CPU_OPERATION,9);
  12. RSX_CONTEXT_CURRENTP[6] = scale->conversion; // TRUNCATE
  13. RSX_CONTEXT_CURRENTP[7] = scale->format;
  14. RSX_CONTEXT_CURRENTP[8] = scale->operation; // SRCCOPY
  15. RSX_CONTEXT_CURRENTP[9] = ((scale->clipY << 16) | scale->clipX);
  16. RSX_CONTEXT_CURRENTP[10] = ((scale->clipH << 16) | scale->clipW);
  17. RSX_CONTEXT_CURRENTP[11] = ((scale->outY << 16) | scale->outX);
  18. RSX_CONTEXT_CURRENTP[12] = ((scale->outH << 16) | scale->outW);
  19. RSX_CONTEXT_CURRENTP[13] = scale->ratioX;
  20. RSX_CONTEXT_CURRENTP[14] = scale->ratioY;
  21.  
  22. RSX_CONTEXT_CURRENTP[15] = RSX_SUBCHANNEL_METHOD(6,NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_SIZE,4);
  23. RSX_CONTEXT_CURRENTP[16] = ((scale->inH << 16) | scale->inW);
  24. RSX_CONTEXT_CURRENTP[17] = ((scale->pitch) | (scale->origin << 16) | (scale->interp << 24));
  25. RSX_CONTEXT_CURRENTP[18] = scale->offset;
  26. RSX_CONTEXT_CURRENTP[19] = ((scale->inY << 16) | scale->inX);
  27.  
  28. RSX_CONTEXT_CURRENT_END(20);
  29. }
Add Comment
Please, Sign In to add comment