src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLUtils.m
branchmetal-prototype-branch
changeset 57416 e153174dba06
equal deleted inserted replaced
57400:978ffc56771f 57416:e153174dba06
       
     1 #include "MTLUtils.h"
       
     2 
       
     3 #include <jni.h>
       
     4 #include <simd/simd.h>
       
     5 #include "common.h"
       
     6 #include "Trace.h"
       
     7 
       
     8 extern void J2dTraceImpl(int level, jboolean cr, const char *string, ...);
       
     9 void J2dTraceTraceVector(simd_float4 pt) {
       
    10     J2dTraceImpl(J2D_TRACE_VERBOSE, JNI_FALSE, "[%lf %lf %lf %lf]", pt.x, pt.y, pt.z, pt.w);
       
    11 }
       
    12 
       
    13 void checkTransform(float * position, simd_float4x4 transform4x4) {
       
    14     J2dTraceImpl(J2D_TRACE_VERBOSE, JNI_FALSE, "check transform: ");
       
    15 
       
    16     simd_float4 fpt = simd_make_float4(position[0], position[1], position[2], 1.f);
       
    17     simd_float4 fpt_trans = simd_mul(transform4x4, fpt);
       
    18     J2dTraceTraceVector(fpt);
       
    19     J2dTraceImpl(J2D_TRACE_VERBOSE, JNI_FALSE, "  ===>>>  ");
       
    20     J2dTraceTraceVector(fpt_trans);
       
    21     J2dTraceLn(J2D_TRACE_VERBOSE, " ");
       
    22 }
       
    23 
       
    24 static void traceMatrix(simd_float4x4 * mtx) {
       
    25     for (int row = 0; row < 4; ++row) {
       
    26         J2dTraceLn4(J2D_TRACE_VERBOSE, "  [%lf %lf %lf %lf]",
       
    27                     mtx->columns[0][row], mtx->columns[1][row], mtx->columns[2][row], mtx->columns[3][row]);
       
    28     }
       
    29 }
       
    30 
       
    31 void traceRaster(char * p, int width, int height, int stride) {
       
    32     for (int y = 0; y < height; ++y) {
       
    33         for (int x = 0; x < width; ++x) {
       
    34             char pix0 = p[y*stride + x*4];
       
    35             char pix1 = p[y*stride + x*4 + 1];
       
    36             char pix2 = p[y*stride + x*4 + 2];
       
    37             char pix3 = p[y*stride + x*4 + 3];
       
    38             J2dTrace4(J2D_TRACE_INFO, "[%d,%d,%d,%d], ", pix0, pix1, pix2, pix3);
       
    39         }
       
    40         J2dTraceLn(J2D_TRACE_INFO, "");
       
    41     }
       
    42 }
       
    43 
       
    44 void tracePoints(jint nPoints, jint *xPoints, jint *yPoints) {
       
    45     for (int i = 0; i < nPoints; i++)
       
    46         J2dTraceLn2(J2D_TRACE_INFO, "\t(%d, %d)", *(xPoints++), *(yPoints++));
       
    47 }