~mmach/netext73/mesa-ryzen

« back to all changes in this revision

Viewing changes to src/gallium/winsys/sw/gdi/gdi_sw_winsys.c

  • Committer: mmach
  • Date: 2023-11-02 21:31:35 UTC
  • Revision ID: netbit73@gmail.com-20231102213135-18d4tzh7tj0uz752
2023-11-02 22:11:57

Show diffs side-by-side

added added

removed removed

Lines of Context:
58
58
 
59
59
   void *data;
60
60
 
61
 
   BITMAPINFO bmi;
 
61
   BITMAPV5HEADER bmi;
62
62
};
63
63
 
64
64
 
150
150
   if(!gdt->data)
151
151
      goto no_data;
152
152
 
153
 
   gdt->bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
154
 
   gdt->bmi.bmiHeader.biWidth = gdt->stride / cpp;
155
 
   gdt->bmi.bmiHeader.biHeight= -(long)height;
156
 
   gdt->bmi.bmiHeader.biPlanes = 1;
157
 
   gdt->bmi.bmiHeader.biBitCount = bpp;
158
 
   gdt->bmi.bmiHeader.biCompression = BI_RGB;
159
 
   gdt->bmi.bmiHeader.biSizeImage = 0;
160
 
   gdt->bmi.bmiHeader.biXPelsPerMeter = 0;
161
 
   gdt->bmi.bmiHeader.biYPelsPerMeter = 0;
162
 
   gdt->bmi.bmiHeader.biClrUsed = 0;
163
 
   gdt->bmi.bmiHeader.biClrImportant = 0;
 
153
   gdt->bmi.bV5Size = sizeof(BITMAPV5HEADER);
 
154
   gdt->bmi.bV5Width = gdt->stride / cpp;
 
155
   gdt->bmi.bV5Height = -(long)height;
 
156
   gdt->bmi.bV5Planes = 1;
 
157
   gdt->bmi.bV5BitCount = bpp;
 
158
   gdt->bmi.bV5Compression = BI_RGB;
 
159
   gdt->bmi.bV5SizeImage = 0;
 
160
   gdt->bmi.bV5XPelsPerMeter = 0;
 
161
   gdt->bmi.bV5YPelsPerMeter = 0;
 
162
   gdt->bmi.bV5ClrUsed = 0;
 
163
   gdt->bmi.bV5ClrImportant = 0;
 
164
 
 
165
   if (format == PIPE_FORMAT_B5G6R5_UNORM) {
 
166
      gdt->bmi.bV5Compression = BI_BITFIELDS;
 
167
      gdt->bmi.bV5RedMask = 0xF800;
 
168
      gdt->bmi.bV5GreenMask = 0x07E0;
 
169
      gdt->bmi.bV5BlueMask = 0x001F;
 
170
   }
164
171
 
165
172
   *stride = gdt->stride;
166
173
   return (struct sw_displaytarget *)gdt;
203
210
    StretchDIBits(hDC,
204
211
                  0, 0, gdt->width, gdt->height,
205
212
                  0, 0, gdt->width, gdt->height,
206
 
                  gdt->data, &gdt->bmi, 0, SRCCOPY);
 
213
                  gdt->data, (BITMAPINFO *)&gdt->bmi, 0, SRCCOPY);
207
214
}
208
215
 
209
216
static void