PixelQuad.h 662 B

12345678910111213141516171819202122232425262728
  1. /*
  2. * Copyright (c) 2021, Stephan Unverwerth <s.unverwerth@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <AK/SIMD.h>
  8. #include <LibGfx/Vector2.h>
  9. #include <LibGfx/Vector3.h>
  10. #include <LibGfx/Vector4.h>
  11. #include <LibSoftGPU/Config.h>
  12. namespace SoftGPU {
  13. struct PixelQuad final {
  14. Vector2<AK::SIMD::f32x4> screen_coordinates;
  15. Vector3<AK::SIMD::f32x4> barycentrics;
  16. AK::SIMD::f32x4 depth;
  17. Vector4<AK::SIMD::f32x4> vertex_color;
  18. Array<Vector4<AK::SIMD::f32x4>, GPU::NUM_SAMPLERS> texture_coordinates;
  19. Vector4<AK::SIMD::f32x4> out_color;
  20. AK::SIMD::f32x4 fog_depth;
  21. AK::SIMD::i32x4 mask;
  22. };
  23. }