summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-05-17docs/meson.html: fix numerous issues spotted by xmllintmeson-windowsDylan Baker1-3/+2
2018-05-17meson: Add support for wrapping llvmDylan Baker4-59/+154
For building on Windows (when not using cygwin), the assumption is that LLVM will have to be handled via a binary wrap. In this case the user wanting to use LLVM is this way will need to create a directory in subprojects (any name is fine), and pass that name via the -Dllvm-wrap option (for example, assuming subprojects/llvm, -Dllvm-wrap=llvm), which must have a meson.build file and the installed LLVM to link with (this can be either static or dynamic). There is documentation for what this needs to look like and how to define it.
2018-05-17meson: Don't check for posix_memalign on windowsDylan Baker1-2/+11
There's a mingw bug for this, it exports __builtin_posix_memalign but not posix_memalign, so the check will succeed, but compiling will fail.
2018-05-17meson: fix graw tests when building against gdiDylan Baker1-1/+8
2018-05-17meson: fix gallium-osmesa to build for windowsDylan Baker2-3/+18
2018-05-17meson: build graw-gdi targetDylan Baker2-1/+39
2018-05-17meson: build libgl-gdi targetDylan Baker2-0/+45
2018-05-17meson: build wgl state trackerDylan Baker2-0/+53
2018-05-17meson: build gallium gdi winsysDylan Baker2-0/+33
2018-05-17meson: Add necessary defines for mesa_gallium on windowsDylan Baker1-2/+10
2018-05-17meson: Add windows defines to glapiDylan Baker4-4/+38
These are needed to control the export or symbols due to differences between the way windows and *nix handle symbol exports.
2018-05-17meson: don't build shader cache on windowsDylan Baker1-1/+1
2018-05-17meson: add windows compiler checks and librariesDylan Baker1-44/+82
2018-05-17meson: don't allow glvnd on windowsDylan Baker1-1/+3
2018-05-17meson: don't build glx or dri by default on windowsDylan Baker1-3/+7
2018-05-17meson: Add a platform for windowsDylan Baker2-2/+9
This mirrors the haiku build which uses a platform.
2018-05-17meson: build getopt when using msvcDylan Baker2-0/+34
completely untested
2018-05-17meson: fix dl detection on non cygwin windowsDylan Baker1-2/+2
2018-05-17glsl: fix general_ir_test with mingwDylan Baker1-7/+7
Somewhere down in the depths of the mingw headers 'interface' is defined, change it to iface like a similar patch did.
2018-05-17glapi: export glapi_destroy_multithread when building shared-glapi on windowsDylan Baker1-1/+1
Which will allow meson to build a shared glapi build with mingw.
2018-05-17gallium: fix ddebug on windowsDylan Baker2-1/+11
by including the proper headers for getpid and for mkdir.
2018-05-17meson: add a expat subprojectDylan Baker2-1/+11
2018-05-17meson: add a zlib subprojectDylan Baker2-1/+11
To help windows build
2018-05-17add a git ignore for subprojectsDylan Baker1-0/+3
2018-05-17meson: always define libglapiDylan Baker1-0/+2
This allows the identifier to be used even if shared-glapi isn't build, which simplifies a bunch of things.
2018-05-17meson: don't try to build gallium/trivial on windowsDylan Baker1-1/+3
2018-05-17broadcom/vc4: Native fence fd supportStefan Schake6-11/+107
With the syncobj support in place, lets use it to implement the EGL_ANDROID_native_fence_sync extension. This mostly follows previous implementations in freedreno and etnaviv. v2: Drop the flags (Eric) Handle in_fence_fd already in job_submit (Eric) Drop extra vc4_fence_context_init (Eric) Dup fds with CLOEXEC (Eric) Mention exact extension name (Eric) Signed-off-by: Stefan Schake <stschake@gmail.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2018-05-17broadcom/vc4: Store job fence in syncobjStefan Schake3-4/+35
This gives us access to the fence created for the render job. v2: Drop flag (Eric) Signed-off-by: Stefan Schake <stschake@gmail.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2018-05-17broadcom/vc4: Detect syncobj supportStefan Schake2-0/+7
We need to know if the kernel supports syncobj submission since otherwise all the DRM syncobj calls fail. v2: Use drmGetCap to detect syncobj support (Eric) Signed-off-by: Stefan Schake <stschake@gmail.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2018-05-17broadcom/vc4: Bump libdrm requirementStefan Schake2-0/+8
Require a version of libdrm with syncobj support. v2: Don't require a libdrm_vc4, just bump core libdrm if vc4 enabled (by anholt) Signed-off-by: Stefan Schake <stschake@gmail.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2018-05-17drm-uapi: Update vc4 header with syncobj submit supportStefan Schake1-3/+10
v2: Synchronized with kernel v2 v3: Update for the finalized kernel ABI (pad2 field) Signed-off-by: Stefan Schake <stschake@gmail.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2018-05-17broadcom/vc4: Drop libdrm_vc4 requirementStefan Schake1-1/+0
This was missed in the move back to the local uapi copy. libdrm_vc4 only seems to consist of headers that also exist in the Mesa tree. Signed-off-by: Stefan Schake <stschake@gmail.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2018-05-17v3d: Add support for glSampleMask / glSampleCoverage.Eric Anholt7-5/+36
2018-05-17v3d: Enable NaN propagation in the VS and CS as well.Eric Anholt4-4/+12
Fixes piglit vs-isnan-*.shader_test at the expense of gl-1.0-spot-light.
2018-05-17i965/blorp: Disable BLORP clear color updatesNanley Chery1-2/+4
With the previous patches, we now update the indirect clear color buffer every time the clear color changes. Avoid redundant updates. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2018-05-17intel/blorp: Add a NO_UPDATE_CLEAR_COLOR batch flagNanley Chery2-2/+9
Allow callers to handle updating the indirect clear color buffer themselves. This can reduce the number of clear color updates in the case where a caller performs multiple fast clears with the same clear color. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2018-05-17i965/blorp: Also skip the fast clear if the clear color differsNanley Chery1-4/+3
If the aux state is CLEAR and clear color value has changed, only the surface state must be updated. The bit-pattern in the aux buffer is exactly the same. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2018-05-17i965/clear: Drop a stale comment in fast_clear_depthNanley Chery1-4/+0
This comment made more sense when it was above the calls to intel_miptree_slice_set_needs_depth_resolve(). We stopped using these functions at commit 554f7d6d02931ea45653c8872565d21c1678a6da ("i965: Move depth to the new resolve functions"). Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2018-05-17i965: Update the indirect buffer in set_clear_colorNanley Chery2-37/+13
For depth buffers, we avoid fast-clearing if the aux_state is already CLEAR. We do the same for color buffers only if the clear color doesn't change. We require that the clear colors match because, in that case, we don't update the indirect clear color outside of BLORP. Update the indirect clear color for color buffers as well. We'll enable the same depth buffer optimization for color buffers in a later patch. Note that we're now actually updating the indirect clear color twice in the case where we use BLORP to perform the fast-clear. This is only temporary. In later patches, we'll prevent BLORP from performing the update. v2: Add more context to the commit message (Topi). Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
2018-05-17i965/clear: Remove an early return in fast_clear_depthNanley Chery1-5/+0
Reduce complexity and allow the next patch to delete some code. With this change, clear operations will still be skipped and setting the aux_state will cause no side-effects. Remove the associated comment which implies an early return. Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2018-05-17i965: Use set_clear_color for depth miptreesNanley Chery3-19/+2
Reduce code duplication now and prevent it in the following commits. Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2018-05-17Revert "i965: Make the miptree clear color setter take a gl_color_union"Nanley Chery3-7/+6
This reverts commit 1d94aa19877fb702ffacacde28ad7253cce72c97. The next patch will make depth miptrees use the clear color setter that was originally being used for color miptrees. Go back to using the isl_color_value parameter because it's the same type as the fast_clear_color field used by color and depth miptrees. Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2018-05-17i965/miptree: Unify aux buffer allocationNanley Chery2-142/+82
There isn't much that changes between the aux allocation functions. Remove the duplicated code. v2: Inline the switch statement (Jason). Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2018-05-17i965: Prepare to delete intel_miptree_alloc_ccs()Nanley Chery3-15/+16
We're going to delete intel_miptree_alloc_ccs() in the next commit. With that in mind, replace the use of this function in do_single_blorp_clear() with intel_miptree_alloc_aux() and move the delayed allocation logic to it's callers. v2: Duplicate the delayed allocation comment (Topi Pohjolainen). Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2018-05-17i965/miptree: Drop the mt param from alloc_aux_bufferNanley Chery1-5/+4
Drop an unused parameter. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2018-05-17i965/miptree: Drop the alloc_flags param from alloc_aux_bufferNanley Chery1-15/+14
We have enough information to determine the optimal flags internally. Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2018-05-17i965/miptree: Drop the name param from alloc_aux_bufferNanley Chery1-5/+4
A name of "aux-miptree" should be sufficient. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2018-05-17i965/miptree: Initialize the indirect clear color to zeroNanley Chery1-11/+22
The indirect clear color isn't correctly tracked in intel_miptree::fast_clear_color. The initial value of ::fast_clear_color is zero, while that of the indirect clear color is undefined. Topi Pohjolainen discovered this issue with MCS buffers. This issue is apparent when fast-clearing an MCS buffer for the first time with glClearColor = {0.0,}. Although the indirect clear color is undefined, the initial aux state of the MCS is CLEAR and the tracked clear color is zero, so we avoid updating the indirect clear color with {0.0,}. Make the indirect clear color match the initial value of ::fast_clear_color. Note: although we only have to drop HiZ's BO_ALLOC_BUSY flag for gen10+, we also drop it pre-gen10 to keep things simple. We add this flag back for pre-gen10 in a later patch. v2: Add a note about dropping HiZ's BO_ALLOC_BUSY flag (Topi). Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2018-05-17i965/miptree: Add and use a memset option in alloc_aux_bufferNanley Chery1-37/+31
Add infrastructure for initializing the clear color BO. intel_miptree_init_mcs is no longer needed with change. Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2018-05-17i965/miptree: Zero-initialize CCS_D buffersNanley Chery1-6/+4
Before this patch, the aux_state was actually AUX_INVALID because the BO was never defined. This was fine on single slice miptrees because we would fast-clear the resource right after creation. For multi-slice miptrees on SKL+ however, this results in undefined behavior when accessing a non-base slice. Here's a specific example: 1) Fast clear level 0 * Undefined CCS_D buffer allocated in "PASS_THROUGH" state. * Level 0 transitions to the CLEAR state. 2) Render to level 1 * Level 1 may have a 2-bit pattern of 2's. * Rendering with a 2 in the CCS is undefined. Cc: <mesa-stable@lists.freedesktop.org> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>